欢迎来到天天文库
浏览记录
ID:14776287
大小:40.00 KB
页数:13页
时间:2018-07-30
《hibernate关联映射75170》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Hibernate关联映射75170一、一对一关联(有共享主键关联和惟一外键关联两种)1、共享主键关联比如课题是由教师去任教,没有教师就没有课题,这样课题就可以完全由教师来决定。Java示例代码如下:publicclassCourse{privateLongid;privateStringname;privateTeacherteacher;//省略setter和getter方法}publicclassTeacher{privateLongid;privateStringname;privateCoursecourse;//省略setter和getter
2、方法}配置文件Teacher.hbm.xmlCourse.hbm.xmlteacher<
3、/param>2、惟一外键关联外键关联需要一个定义外键字段,比如在教师表定义一个课题的外键course_id。配置文件Teacher.hbm.xml4、que="true"/>如果同时在Coure.hbm.xml加上如下配置则为双向关联。3、第三种以上两种一对一关联在Hibernate中是比较常用的。但我用另外一种方法实现时,发现也可行。测试了一下,目前没有发现错误。思想是和唯一外键关联相似,但两个表中都需要一个外键,在配置的地方用了,即两边对用了。Course.hbm.xm5、lTeacher.hbm.xml/////////////////////////////////////////////////////HIbernate的参数使用说明set节点有以下属性(摘自Hiber6、nate文档):(1)name集合属性的名称(2)table(可选??默认为属性的名称)这个集合表的名称(不能在一对多的关联关系中使用)(3)schema(可选)表的schema的名称,他将覆盖在根元素中定义的schema(4)lazy(可选??默认为false)lazy(可选--默认为false)允许延迟加载(lazyinitialization)(不能在数组中使用)(5)inverse(可选??默认为false)标记这个集合作为双向关联关系中的方向一端。(6)cascade(可选??默认为none)让操作级联到子实体(7)sort(可选)指定集合的排7、序顺序,其可以为自然的(natural)或者给定一个用来比较的类。(8)order-by(可选,仅用于jdk1.4)指定表的字段(一个或几个)再加上asc或者desc(可选),定义Map,Set和Bag的迭代顺序(9)where(可选)指定任意的SQLwhere条件,该条件将在重新载入或者删除这个集合时使用(当集合中的数据仅仅是所有可用数据的一个子集时这个条件非常有用)(10)outer-join(可选)指定这个集合,只要可能,应该通过外连接(outerjoin)取得。在每一个SQL语句中,只能有一个集合可以被通过外连接抓取(译者注:这里提到的SQL语句8、是取得集合所属类的数据的Select语句)(11)batch-size(可选,默
4、que="true"/>如果同时在Coure.hbm.xml加上如下配置则为双向关联。3、第三种以上两种一对一关联在Hibernate中是比较常用的。但我用另外一种方法实现时,发现也可行。测试了一下,目前没有发现错误。思想是和唯一外键关联相似,但两个表中都需要一个外键,在配置的地方用了,即两边对用了。Course.hbm.xm
5、lTeacher.hbm.xml/////////////////////////////////////////////////////HIbernate的参数使用说明set节点有以下属性(摘自Hiber
6、nate文档):(1)name集合属性的名称(2)table(可选??默认为属性的名称)这个集合表的名称(不能在一对多的关联关系中使用)(3)schema(可选)表的schema的名称,他将覆盖在根元素中定义的schema(4)lazy(可选??默认为false)lazy(可选--默认为false)允许延迟加载(lazyinitialization)(不能在数组中使用)(5)inverse(可选??默认为false)标记这个集合作为双向关联关系中的方向一端。(6)cascade(可选??默认为none)让操作级联到子实体(7)sort(可选)指定集合的排
7、序顺序,其可以为自然的(natural)或者给定一个用来比较的类。(8)order-by(可选,仅用于jdk1.4)指定表的字段(一个或几个)再加上asc或者desc(可选),定义Map,Set和Bag的迭代顺序(9)where(可选)指定任意的SQLwhere条件,该条件将在重新载入或者删除这个集合时使用(当集合中的数据仅仅是所有可用数据的一个子集时这个条件非常有用)(10)outer-join(可选)指定这个集合,只要可能,应该通过外连接(outerjoin)取得。在每一个SQL语句中,只能有一个集合可以被通过外连接抓取(译者注:这里提到的SQL语句
8、是取得集合所属类的数据的Select语句)(11)batch-size(可选,默
此文档下载收益归作者所有