瘋狂

          STANDING ON THE SHOULDERS OF GIANTS
          posts - 481, comments - 486, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          hibernate annoation (六 復合主鍵)

          Posted on 2009-11-02 14:55 瘋狂 閱讀(421) 評論(0)  編輯  收藏 所屬分類: hibernate

          主鍵類:定義為@Embeddable

          @Embeddable
          public class F implements Serializable{//序列化 并且最好override equals() and hashCode()

           private int id;
           private int id2;
           public int getId() {
            return id;
           }
           public void setId(int id) {
            this.id = id;
           }
           public int getId2() {
            return id2;
           }
           public void setId2(int id2) {
            this.id2 = id2;
           }
           
          }
          持久化類:

          @Entity
          @Table(name="E_USER",uniqueConstraints={
            @UniqueConstraint(columnNames={"yahoo"})
            })
          @IdClass(F.class)//將F作為主鍵類
          public class User {

           private int id;
           private int id2;

          //id id2必須和F中的屬性一致
           private String yahoo;
           @Id
           @GeneratedValue(strategy=GenerationType.IDENTITY)

           public int getId() {
            return id;
           }
           public void setId(int id) {
            this.id = id;
           }
           @Id
           @GeneratedValue(strategy=GenerationType.IDENTITY)
           public int getId2() {
            return id2;
           }
           public void setId2(int id2) {
            this.id2 = id2;
           }
           public String getYahoo() {
            return yahoo;
           }
           public void setYahoo(String yahoo) {
            this.yahoo = yahoo;
           }
           
          }


          或者了一種方法:

          使用@EmbeddedId F f;

          最終生成sql:(mysql)

          create table E_USER (id integer not null, id2 integer not null, yahoo varchar(255), primary key (id, id2), unique (yahoo))

          主站蜘蛛池模板: 宜阳县| 崇左市| 汉源县| 巨鹿县| 长武县| 南京市| 化隆| 山东省| 达州市| 浮山县| 霍邱县| 巫山县| 瓮安县| 陇南市| 甘肃省| 客服| 大城县| 清徐县| 迭部县| 南召县| 上杭县| 浮山县| 台北县| 中江县| 瓦房店市| 吉安县| 宜春市| 栾城县| 宁南县| 武邑县| 安龙县| 时尚| 钟山县| 栾城县| 大田县| 益阳市| 拉萨市| 昌宁县| 年辖:市辖区| 临澧县| 大英县|