复合外键和主键的Hibernate/JPA映射

复合外键和主键的Hibernate/JPA映射,hibernate,jpa,Hibernate,Jpa,我有3个实体:房子、会员、宠物。 映射类包括: public class House { @EmbeddedId private HouseId houseId; // other fields } @Embeddable public class HouseId { @Column(name = "district") private String district; @Column(name = "ad

我有3个实体:房子、会员、宠物。 映射类包括:

public class House {
    @EmbeddedId
    private HouseId houseId;
    // other fields
}

@Embeddable
public class HouseId {
    @Column(name = "district")
    private String district;
    
    @Column(name = "address_number")
    private String addressNumber;
}

public class Member {
    @MemberId
    private MemberId id;
    
    @OneToMany(mappedBy = "member")
    private List<Pet> pets;
    //other fields
}

@Embeddable
public class MemberId {
    private HouseId houseId;
    @Column(name = "member_id")
    private String memberId; 
}

public class Pet {
    @EmbeddedId
    private PetId id;
    
    @ManyToOne
    //put necessary annotations here
    private Member member;
}

@Embeddable
public class PetId {
    private HouseId houseId;
    @Column(name = "pet_id")
    private String petId;
}
公共类房屋{
@嵌入ID
私人房号;
//其他领域
}
@可嵌入
公屋{
@列(name=“district”)
私人住宅区;
@列(name=“地址\编号”)
私有字符串地址号;
}
公共班级成员{
@MemberId
私有成员id;
@OneToMany(mappedBy=“成员”)
私人宠物名单;
//其他领域
}
@可嵌入
公共类成员ID{
私人房号;
@列(name=“member\u id”)
私有字符串成员ID;
}
公营宠物{
@嵌入ID
私人小id;
@许多酮
//在此处添加必要的注释
私人会员;
}
@可嵌入
公共类佩蒂德{
私人房号;
@列(name=“pet_id”)
私人字符串佩蒂德;
}
总之:

  • 宠物有主键(地区、地址号码、宠物id)
  • 成员具有主键(地区、地址、成员id)
  • Pet具有成员的外键(地区、地址号码、成员id)。 那么,我如何在类Pet中添加必要的注释来显示Pet与成员之间的关系呢