黑马程序员技术交流社区
标题:
JPA中基于外键的一对一关联映射问题
[打印本页]
作者:
lu774374302
时间:
2015-11-30 12:06
标题:
JPA中基于外键的一对一关联映射问题
@Entity
@Table(name = "t_person", schema = "jpa")
public class Person {
@Id
@GeneratedValue
@Column(name = "id")
private Integer id;
@Column(name = "name", length = 20)
private String name;
@OneToOne(cascade = { CascadeType.ALL }, optional = false)
@JoinColumn(name = "idCard", unique = true)
private IdCard idCard;
// getter & setter
}
@Entity
@Table(name = "t_idcard", schema = "jpa")
public class IdCard {
@Id
@GeneratedValue
@Column(name = "id")
private Integer id;
@Column(name = "cardNo", unique = true, length = 18)
private String cardNo;
@OneToOne(cascade = { CascadeType.MERGE }, mappedBy = "idCard")
private Person person;
// getter & setter
}
不明白为什么以下代码还能保存成功,那岂不是变成多对一关联映射了吗?
IdCard idCard = new IdCard();
idCard.setCardNo("xxxxxxxx");
Person person = new Person();
person.setName("user_01");
person.setIdCard(idCard);
Person person1 = new Person();
person1.setName("user_02");
person1.setIdCard(idCard);
entityManager.persist(person);
entityManager.persist(person1);
作者:
许鹏飞
时间:
2015-12-4 18:27
路过,,,回复赚币
作者:
lu774374302
时间:
2016-2-15 11:06
已解决,换了Hibernate版本又可以了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2