java onetoone_java – JPA OneToOne双向.

在这里,您已在B类上面的private A a;中指定了mappedBy.在双向关系中,mappedBy意味着我不是所有者.所以这意味着A是这段关系的所有者.

在A表中,你将有一个B表的外键.由于A是所有者,A假设将操作级联到B.理想情况下你应该尝试a.setB()然后持久化a.

试试以下:

em.getTransaction().begin();

//first create B.

B bb = new B();

bb.setId(1);

bb.setName("CC");

em.persist(bb);

//create A with B set in it.

A aa = new A();

aa.setId(1);

aa.setName("JJ");

aa.setB(bb);

em.persist(aa);

em.getTransaction().commit();

要么

em.getTransaction().begin();

//first create B.

B bb = new B();

bb.setId(1);

bb.setName("CC");

// no need to persist bb.

//create A with B set in it.

A aa = new A();

aa.setId(1);

aa.setName("JJ");

aa.setB(bb);

em.persist(aa); // because of cascade all,when you persist A,// B will also be persisted.

em.getTransaction().commit();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值