`
liumin1939
  • 浏览: 56245 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate的联合主键怎么设置?inverse 设置成false 对sql语句有什么影响

阅读更多
hibernate的联合主键怎么设置?inverse 设置成false 对sql语句有什么影响


首先需要建立一个主键类:bqMy
public class SCMapping implements Serializable{B\
private Integer sno; //学号A4
private Integer cno; //课程号MC_dS
private Integer grade; //成绩60
©www.java125.cn  WuH
...F*o
}©www.java125.cn  G&$tZ=
©www.java125.cn  m*)
使用映射文件映射联合主键时,持久化类必须满足三个条件:M6gy?
1.实现java.io.Serializable接口;:I
2.覆盖hashCode()方法;p
3.覆盖equals()方法。S{#<
©www.java125.cn  b
接着写映射文件:?8Lg
<hibernate-mapping auto-import="falst">+RCA&x
<class name="com.tarena.SCMapping" table="scmapping" catalog="joblog">T?vP#}
<composite-id>y\}
<key-property name="sno" type="integer">.8;OY
<column name="Sno" />/Y&4u
</key-property>w]0M
<key-property name="cno" type="integer">yt5
<column name="Cno" />q.
</key-property>o
</composite-id>#Uq
©www.java125.cn  `s>
<property name="grade" type="integer">YXT
<column name="Grede"/>ZY\b5
</property>PS!
©www.java125.cn  N/o'
</class>i
</hibernate-mapping>J)
©www.java125.cn  mdu
然后调用Hibernae Api测试。nkc36?
©www.java125.cn  FE)@q4
------------------------------umNTU:
关于inverse 设置成false 对sql语句有什么影响:8Ie
inverse属性默认是false,就是说关系的两端都来维护关系。@Pi
比如Student和Teacher是多对多关系,用一个中间表TeacherStudent维护。Gp)i
如果Student这边inverse="true", 那么关系由另一端Teacher维护,就是说当插入Student时,不会操作TeacherStudent表(中间表)。只有Teacher插入或删除时才会触发对中间表的操作。|xH1[
所以两边都inverse="true"是不对的,会导致任何操作都不触发对中间表的影响;MFP
当两边都inverse="false" 或默认时,会导致在中间表中插入两次关系。
分享到:
评论

相关推荐

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     C.1 创建带有@hibernate标记的Java源文件  C.2 建立项目的目录结构  C.3 运行XDoclet工具 附录D 发布和运行netstore应用  D.1 运行netstore所需的软件  D.2 netstore应用的目录结构  D.3 安装SAMPLEDB...

    hibernate总结

    b) 在内存中,如果有多个set(代理)容器需要初始化, 则当访问任何一个代理set容器时,一次初始化n个set容器,减少sql语句; c) 产生的语句是:select * from ….. where FK in (?,?,?... …n); 3. 迫切(fetch)左外...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     C.1 创建带有@hibernate标记的Java源文件  C.2 建立项目的目录结构  C.3 运行XDoclet工具 附录D 发布和运行netstore应用  D.1 运行netstore所需的软件  D.2 netstore应用的目录结构  D.3 安装SAMPLEDB...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     C.1 创建带有@hibernate标记的Java源文件  C.2 建立项目的目录结构  C.3 运行XDoclet工具 附录D 发布和运行netstore应用  D.1 运行netstore所需的软件  D.2 netstore应用的目录结构  D.3 安装SAMPLEDB...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     C.1 创建带有@hibernate标记的Java源文件  C.2 建立项目的目录结构  C.3 运行XDoclet工具 附录D 发布和运行netstore应用  D.1 运行netstore所需的软件  D.2 netstore应用的目录结构  D.3 安装SAMPLEDB...

    hibernate 3中的缓存小结

    (选择所有字段)这样的SQL语句查询数据库,一次获得所有的数据对象。 2) 把获得的所有数据对象根据ID放入到第二级缓存中。 3) 当Hibernate根据ID访问数据对象的时候,首先从Session一级缓存中查;查不到,如果...

    精通hibernate:对象持久化技术孙卫琴第二版part2

    本章主要介绍关系数据库中的代理主键(不具有业务含义),接着介绍Hibernate提供的几种内置标识符生成器的用法及适用范围。 6.1 关系数据库按主键区分不同的记录 123 6.1.1 把主键定义为自动增长标识符类型 123 ...

    Hibernate注释大全收藏

    Hibernate注释大全收藏 声明实体Bean @Entity public class Flight implements Serializable { Long id; @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } } @Entity ...

    jdbc基础和参考

    一般在做双向多对一(一对多)关联关系映射的时候,一般会设置让一的一方放弃对关联关系的维护,以减少不必要的更新语句 一对一: 基于外键的一对一 Wife Husband id id name name h_id references Husband...

    精通Hibernate:对象持久化技术第二版part3

    本章主要介绍关系数据库中的代理主键(不具有业务含义),接着介绍Hibernate提供的几种内置标识符生成器的用法及适用范围。 6.1 关系数据库按主键区分不同的记录 123 6.1.1 把主键定义为自动增长标识符类型 123 ...

    Java面试宝典2010版

    8.用一条SQL语句 查询出每门课都大于80分的学生姓名 9.所有部门之间的比赛组合 10.每个月份的发生额都比101科目多的科目 11.统计每年每月的信息 12.显示文章标题,发帖人、最后回复时间 13.删除除了id号不同,...

    最新Java面试宝典pdf版

    8.用一条SQL语句 查询出每门课都大于80分的学生姓名 100 9.所有部门之间的比赛组合 100 10.每个月份的发生额都比101科目多的科目 101 11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除...

    Java面试笔试资料大全

    8.用一条SQL语句 查询出每门课都大于80分的学生姓名 100 9.所有部门之间的比赛组合 100 10.每个月份的发生额都比101科目多的科目 101 11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除...

    Java面试宝典-经典

    8.用一条SQL语句 查询出每门课都大于80分的学生姓名 100 9.所有部门之间的比赛组合 100 10.每个月份的发生额都比101科目多的科目 101 11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除...

    java面试题大全(2012版)

    8.用一条SQL语句 查询出每门课都大于80分的学生姓名 100 9.所有部门之间的比赛组合 100 10.每个月份的发生额都比101科目多的科目 101 11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除...

    JAVA面试宝典2010

    8.用一条SQL语句 查询出每门课都大于80分的学生姓名 100 9.所有部门之间的比赛组合 100 10.每个月份的发生额都比101科目多的科目 101 11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除...

    Java面试宝典2012版

    8.用一条SQL语句 查询出每门课都大于80分的学生姓名 100 9.所有部门之间的比赛组合 100 10.每个月份的发生额都比101科目多的科目 101 11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13...

    java面试宝典2012

    8.用一条SQL语句 查询出每门课都大于80分的学生姓名 109 9.所有部门之间的比赛组合 109 10.每个月份的发生额都比101科目多的科目 110 11.统计每年每月的信息 111 12.显示文章标题,发帖人、最后回复时间 112 13.删除...

Global site tag (gtag.js) - Google Analytics