hibernate聯合主鍵注解方式


方法一:主鍵類用@Embeddable,pojo類仍然用@Entity但是引用主鍵類的對象用@Id 

主鍵pojo類: 

@Embeddable
public class composeIdPK implements Serializable {
 private String name;
 private int id;
  @Column(length=20,name="pkName")
 public String getName() {
  return name;
 }
    @Column(length=10,name="uuid")
 public int getId() {
  return id;
 }

 

pojo類: 

@Entity
public class composeId {
 private composeIdPK pk;
 private int uid;
 private String title;
 private String address;
 
 @Id
 public composeIdPK getPk() {
  return pk;
 }

 

方法二:@EmbeddedlD(*)         主鍵pojo類無需加@EmbeddedlD注解,只需在pojo類新屬性“composeIdPK”的get方法前寫@EmbeddedlD即可 

方法三:@Id  @IdClass(*)  主鍵pojo類無需加注解,原pojo類的id,name屬性保留不變,也無需新增“ComposeIDPK”屬性。 只在id,name的get方法前都加@Id,並在原pojo類前加 @IdClass(*)

如下: 

@Entity
@IdClass(com.study.model.composeID.composeIdPK.class)
public class composeId {
 //private composeIdPK pk;
    private int id;
    private String name;
    @Id
    @Column(length=10,name="uuid")
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 @Id
  @Column(length=20,name="pkName")
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 private String title;
 private String address;

 

本文為轉載, 源出處未找到..見諒!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM