乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Annotation對Hibernate中聯(lián)合主鍵定義

       昵稱15698534 2014-10-16

      Annotation對Hibernate中聯(lián)合主鍵定義

      java 2010-03-31 11:08:46 閱讀357 評論0 字號:  

      public class User {

      private int id;

      private String name;

      private String address;

      public int getId() {

      return id;

      }

      public String getName() {

      return name;

      }

      public String getAddress() {

      return address;

      }

      public void setId(int id) {

      this.id = id;

      }

      public void setName(String name) {

      this.name = name;

      }

      public void setAddress(String address) {

      this.address = address;

      }

      }

      在如上類中假設需要定義一個聯(lián)合主鍵 id,name,在hibernate中利用注解映射方法有如下三種:

      1、將組件類注解為@Embeddable,并將實體類中組件的注解為@Id

            首先需要抽象出一個組件類,并將其注解為可嵌入式的Embeddedable在User中進行引用

      @Embeddable

      public class UserPk implements Serializable {

      private static final long serialVersionUID = 1L;

      private int id;

      private String name;

      public int getId() {

      return id;

      }

      public String getName() {

      return name;

      }

      public void setId(int id) {

      this.id = id;

      }

      public void setName(String name) {

      this.name = name;

      }

      }

      其次要在實體類中將組件屬性注解為@ID

      @Entity

      public class User {

      private UserPk userPk;

      private String address;

      @Id

      public UserPk getUserPk() {

      return userPk;

      }

      public String getAddress() {

      return address;

      }

      public void setUserPk(UserPk userPk) {

      this.userPk = userPk;

      }

      public void setAddress(String address) {

      this.address = address;

      }

      }

      2、將組件的屬性注解為@EmbeddedId

      首先需要抽象出一個組件類,在User中進行引用

      public class UserPk implements Serializable {

      private static final long serialVersionUID = 1L;

      private int id;

      private String name;

      public int getId() {

      return id;

      }

      public String getName() {

      return name;

      }

      public void setId(int id) {

      this.id = id;

      }

      public void setName(String name) {

      this.name = name;

      }

      }

      其次需要在實體類中對組件屬性注解為嵌入式的ID,即:@EmbeddedId

      @Entity

      public class User {

      private UserPk userPk;

      private String address;

      @EmbeddedId

      public UserPk getUserPk() {

      return userPk;

      }

      public String getAddress() {

      return address;

      }

      public void setUserPk(UserPk userPk) {

      this.userPk = userPk;

      }

      public void setAddress(String address) {

      this.address = address;

      }

      }

      3、將類注解為@IdClass,并將該實體中所有屬于主鍵屬性都注解為@Id

      抽象出組件類

      public class UserPk implements Serializable {

      private static final long serialVersionUID = 1L;

      private int id;

      private String name;

      public int getId() {

      return id;

      }

      public String getName() {

      return name;

      }

      public void setId(int id) {

      this.id = id;

      }

      public void setName(String name) {

      this.name = name;

      }

      }

      實體類

      @Entity

      @IdClass(value = UserPk.class)

      public class User {

      private int id;

      private String name;

      private String address;

      @Id

      public int getId() {

      return id;

      }

      @Id

      public String getName() {

      return name;

      }

      public String getAddress() {

      return address;

      }

      public void setId(int id) {

      this.id = id;

      }

      public void setName(String name) {

      this.name = name;

      }

      public void setAddress(String address) {

      this.address = address;

      }

      }


        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多