系统-hibernate的关系映射和无关系型数据库

问题描述

hibernate的关系映射和无关系型数据库

小白问个问题:
在hibernate中有多对一、一对一、一对多、多对多这样的关系,只要在hbm.xml文件中配置了,那么去生产数据表的时候就会给表创建外键
这个很好理解,但是我目前在开发中,我发现很多成熟的系统数据库并没有外键,而且架构师提倡不用外键来管理,这样hibernate的关系设计是不是就不符合现在系统设计得需要了?

解决方案

在数据库里可以不设主键或者外键来使用hibernate进行逻辑上的关联。架构师不提倡是因为在对数据库进行增删改的时候,可能出现脏数据。
现在关系型数据库用的领域还是很多,hibernate不会不符合的。不过对于一些中小型的系统,建议使用ibatis,较之hibernate用起来比较灵活,入门也快。
hibernate比较适合大型的项目,建议深入了解hibernate后再进行使用。

时间: 2025-01-25 14:22:14

系统-hibernate的关系映射和无关系型数据库的相关文章

Hibernate实体关系映射—Annotation

hibernate实体关系映射分为:     单边一对一,双边一对一:     单边一对多,单边多对一:     双边一对多,双边多对一:     单边多对多,双边多对多:     以及主键相同的单双边一对一.下面分别总结这几种关系映射的注解方法: 1.  单边一对一和双边一对一     单边一对一:比如一个学生(Student)有一个学生证(StudentCard),且Student类中有一个StudentCard对象: [java] view plain copy   @Entity    

Hibernate -- 注解(Annotation)关系映射

转自:http://www.cnblogs.com/tyler2000/archive/2011/01/20/1940354.html 1. Hibernate Annotation关系映射有下面几种类型:1)一对一外键关联映射(单向) 2)一对一外键关联映射(双向) 3)一对一主键关联映射(不重要)在这不演示 在实际中很少用,使用注解@PrimaryKeyJoinColumn 意思是说,我的主键去参考另外一张表中的主键,作为我的主键,但是在我测试使用 注解一对一主键关联映射,在生成表的时候,数

XPage访问关系型数据库的最佳实践

我们在进行 XPages 应用开发的时候,有时一些事务性数据存在关系型数据库中,或者要集成其他系统中的数据,需要访问关系型数据库中的数据.XPages 本身是一个基于 Java 的服务器,所以它在访问关系型数据库时非常方便. 做 为一个 Java 的http://www.aliyun.com/zixun/aggregation/7155.html">开发人员,我们完全可以直接在 XPages 中通过 JDBC 访问关系型数据库.为了我们更方便的访问关系型数据库,并且紧密的与 Xpages

Hibernate及JPA 对象关系映射的简单映射策略

简单映射 近年来 ORM(Object-Relational Mapping,对象关系映射,即实体对象和数据库表的映射)技术市场 热闹非凡,各种各样的持久化框架应运而生,其中影响最大的是 Hibernate 和 Toplink.Sun 公司在充分吸收现有的优秀 ORM 尤其是 Hibernate 框架设计思想的基础上,制定了新的 JPA(Java Persistence API)规范,对现在乱象丛生的持久 化市场带来一个标准,大有统一持久化市场的气势.JPA 是通过 JDK5.0 注解或 XML

Hibernate Core 4.0.0.Alpha1发布 Java语言对象关系映射解决方案

Hibernate是一种Java语言下的对象关系映射解决方案.它是使用GNU宽通用公共许可证发行的自由.开源的软件.它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架.Hibernate也是目前Java开发中最为流行的数据库持久层框架,现已归JBOSS所有. 它的设计目标是将软件http://www.aliyun.com/zixun/aggregation/7155.html">开发人员从大量相同的数据持久层相关编程工作中解放出来.无论是从设计草案还是从一个遗留数据

Hibernate及JPA对象关系映射:关联关系映射策略

关联关系映射 关联关系映射,是映射关系中比较复杂的一种映射关系,总的说来有一对一.一对多和多对多几种 关系.细分起来他们又有单向和双向之分.下面我们逐一介绍一下. 单向 OneToOne 单向一对一是关联关系 映射中最简单的一种,简单地说就是可以从关联的一方去查询另一方,却不能反向查询.我们用下面的例子来举例说明,清 单 1 中的 Person 实体类和清单 2 中的 Address 类就是这种单向的一对一关系,我们可以查询一个 Person 的对应的 Address 的内容,但是我们却不能由一

使用Hibernate进行对象的关系映射

Hibernate是业界比较推崇的ORM(o/r mapping),目前的版本已经非常稳定和成熟,而且的他的文档也极其丰富. Http://www.jdon.com和http://www.chinaxp.com 这两个技术网站对hibernate的讨论很多也很精到. 这篇文章是一篇让出学者入门的文章.现意译如下,英文好的可以跳过直接阅读原文. --译者按 在Java技术中有许多方法可以对数据进行持久化,持久层也是Java应用程序中最重要的部分之一.在当今关系型数据库仍为如主流数据库的时候,我个人

【HIBERNATE框架开发之七】HIBERNATE使用ANNOTATION中各种关系映射的CRUD(增删改查)&&集合映射&&继承映射

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/hibernate/822.html       首先对于Annotation中CRUD的C(Create)操作:-------- 假设 :   User (MonyToOne)       Group OK,那么有如下 Junit Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Conf

急:SSH+Oracle||用hibernate进行多对多关系映射 出错 违反唯一性约束 奇怪

问题描述 Oracle 9i,使用hibernate,多对多的关系映射,级联操作的时候,出错了.我的数据库中表的主键是采用自增长的方式,序列+触发器进行的自增长.实体类与表的映射文件,如下<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.s