假定Person类和PersonDetail类为一对一关联关系,相应的,PERSONS表和PERSON_DETAILS表为一对一参照关系。PERSON_DETAILS表的ID字段既是主键,又作为外键参照PERSONS表的ID主键,因此,PERSON_DETAILS表的ID主键实际上来自于PERSONS表的ID主键。PERSON_DETAILS表的ID主键称为派生主键。
Person类的定义如下:
@Entity
@Table(name="PERSONS")
public static class Person {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="ID")
private Long id;

本文是关于孙卫琴《精通JPA与Hibernate》一书的读书笔记,重点讲解了如何使用@MapsId注解处理一对一关联关系中的派生主键问题。在示例中,PERSON_DETAILS表的ID作为主键和外键,从PERSONS表的ID派生。通过@MapsId注解,PersonDetail类的id能自动获取Person对象的id值,简化了数据库操作。文章还展示了相关的DDL定义及Java代码示例。
最低0.47元/天 解锁文章
410

被折叠的 条评论
为什么被折叠?



