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" 或默认时,会导致在中间表中插入两次关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值