Hibernate中一对一主键关联,和在表上建外键的方向有关系吗???
有两个表TUser和TPasspo,两个表的形成一对一的主键关联
TUser中的配置
<one-to-one
name="TPasspo"
class="com.jingxl.hib.pojo.TPasspo"
cascade="all"
outer-join="true"
/>
TPasspo中的配置
<one-to-one
name="TUser"
class="com.jingxl.hib.pojo.TUser"
constrained="true"
/>
代码:
session = SessionFactory.currentSession();
TUser user = new TUser();
user.setId(10L);
user.setName("byf");
user.setAge(26L);
TPasspo passpo = new TPasspo();
passpo.setSerial("PCN123456");
//设置相互关联
user.setTPasspo(passpo);
passpo.setTUser(user);
Transaction tx = session.beginTransaction();
session.save(user);
tx.commit();
我在TUser的ID字段上建外键关联到TPasspo的ID就会出现“违反完整约束条件 (TEST.FK_USER2) -
未找到父项关键字”,但是如果在TPasspo的ID建外键关联到TUser的ID上就可以级联插入!
为什么会出现这个问题,网上有很多例子都是这样做的!!