Rhythmk 学习 Hibernate 08 - Hibernate annotation 关联关系注解
            时间:2014-05-03 22:28:15  
            收藏:0  
            阅读:420
        
        
        1、一对一 (One to One)
    
共三种情况:
     1.1  主键共享
    1.2 
 外键共享
1.3 中间表关联
1.1 code:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | @Entitypublicclassarticle {    @Id    @GeneratedValue   publicInteger getArticleId() {        returnarticleId;    }    .....    @OneToOne(cascade=CascadeType.ALL)    @PrimaryKeyJoinColumn        publicarticleContent getContent() {        returncontent;    }    ......} | 
| 1 2 3 4 5 6 7 8 9 10 | @EntitypublicclassarticleContent  {        @Id    @GeneratedValue    publicInteger getcId() {        returncId;    }    ....} | 
执行保存 生成两张无外键的独立表
1.2 code:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | @Entitypublicclassarticle {        @OneToOne(cascade=CascadeType.ALL)    @JoinColumn(name="cid_fk")        publicarticleContent getContent() {        returncontent;    }    }@EntitypublicclassarticleContent  {        @OneToOne(mappedBy="articleContent")    publicarticle ArticleEntity;} | 
执行保存,生成两张表,同时article生成一个cid_fk字段 关联 articleContent主键ID
1.3 code:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | @Entitypublicclassarticle {    @Id    @GeneratedValue   publicInteger getArticleId() {        returnarticleId;    }    @OneToOne(cascade=CascadeType.ALL)    @JoinTable(name="article_content",          joinColumns=@JoinColumn(name="aid"),          inverseJoinColumns=@JoinColumn(name="aid_fk"))        publicarticleContent getContent() {        returncontent;    }    ......} | 
生成三张表 分别为:article,article_content,articlecontent 其中 article_content 分别生成两个外键具体参考等价建表语句:
| 1 2 3 4 5 6 7 8 | CREATETABLE`article_content` (  `aid_fk` int(11) DEFAULTNULL,  `aid` int(11) NOTNULL,  PRIMARYKEY(`aid`),  KEY`FK_7pgn2vn8r1lpswmh5v2ix667s` (`aid_fk`),  CONSTRAINT`FK_ebfc4cs1sishg6u8kwpvgqqj9` FOREIGNKEY(`aid`) REFERENCES`article` (`articleId`),  CONSTRAINT`FK_7pgn2vn8r1lpswmh5v2ix667s` FOREIGNKEY(`aid_fk`) REFERENCES`articlecontent` (`cId`)) ENGINE=InnoDB DEFAULTCHARSET=utf8; | 
Rhythmk 学习 Hibernate 08 - Hibernate annotation 关联关系注解,布布扣,bubuko.com
            评论(0)
        
        
        