欢迎来到天天文库
浏览记录
ID:32020037
大小:61.29 KB
页数:35页
时间:2019-01-30
《Hibernate一对多映射配置详解.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Hibernate一对多映射配置详解Hibernate一对多映射配置详解雪飘寒目录Hibernate一对多映射配置详解1一、xml文件配置21.单向关联22.双向关联33.自身关联4二、注释方式配置(Annotation)51、单向关联52.双向关联63.自身关联7三、备注88Hibernate一对多映射配置详解一、xml文件配置1.单向关联例:User和Account,一个用户对应多个账户。Account向User方关联,User不关联Account。UserAccountUser类与配置文件,User的配置文件中只有各种属性映射,没有关系映射。privateIntegerid;
2、privateStringusername;privateStringpassword;privateAccountaccount;Account类与配置privateIntegerid;privateStringaccountNum;privateIntegermoney;privateUseruser;Account的user属性设置如果不设置级联cascade="save-update",那么保存acc
3、ount前,必须先将account关联的user保存。根据业务需求(通常这种单向多对一关联),many-to-one一方可以设置not-null,通常账户都是由用户发出,没有用户就没有账户。8Hibernate一对多映射配置详解2.双向关联例:User和Account,一个用户对应多个账户。数据库表不变。UserAccountUser类与配置privateIntegerid;privateStringusername;privateStringpassword;privateSetaccount=newHashSet();定义集合属性时,最好初始
4、化一个实例,避免应用程序取值为null时产生空指针异常。表明对应的类是哪个类,即set集合内的元素是什么。对应表的哪一列作为维护关系的列,当本类维护关系时,去寻找对应表的那一列来查找关系,即当User来维护关系时,去寻找Account表(many-to
5、-one里指定的)的userid(key里指定的)列来查找关系。Account类与配置privateIntegerid;privateStringaccountNum;privateIntegermoney;privateUseruser;8Hibernate一对多映射配置详解3.自身关联User类privateIntegerid;privateStringusername;privateStringpass
6、word;privateSetchild=newHashSet();parentid列的配置如下,与双向关联中例子并无太大区别,只不过是换成一个表。8Hibernate一对多映射配置详解二、注释方式配置(Annotation)1、单向关联例:User和Account,一个用户对应多个账户。Account向User方关联,User不关联Account。UserAc
7、countUser方不用任何设置(仅设置映射),因为是单向关联。Account方@ManyToOne@JoinColumn(name="userid")publicUsergetUser(){returnuser;}8Hibernate一对多映射配置详解2.双向关联UserAccountUser配置该方法当保存user时,会连带保存account。mappedBy="user"表示对应类的关联属性名称,即Account类中user属性的名称:user。@OneToMa
此文档下载收益归作者所有