Rhythmk 学习 Hibernate 08 - Hibernate annotation 关联关系注解
生活随笔
收集整理的这篇文章主要介绍了
Rhythmk 学习 Hibernate 08 - Hibernate annotation 关联关系注解
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1、一对一 (One to One)
共三种情况:
1.1 主键共享
1.2 外键共享
1.3 中间表关联
1.1 code:
@Entity public class article {@Id@GeneratedValuepublic Integer getArticleId() {return articleId;}.....@OneToOne(cascade=CascadeType.ALL)@PrimaryKeyJoinColumnpublic articleContent getContent() {return content;}...... } @Entity public class articleContent {@Id@GeneratedValuepublic Integer getcId() {return cId;}.... }执行保存 生成两张无外键的独立表
1.2 code:
@Entity public class article {@OneToOne(cascade=CascadeType.ALL)@JoinColumn(name="cid_fk")public articleContent getContent() {return content;}}@Entity public class articleContent {@OneToOne(mappedBy="articleContent")public article ArticleEntity; }执行保存,生成两张表,同时article生成一个cid_fk字段 关联 articleContent主键ID
1.3 code:
@Entity public class article {@Id@GeneratedValuepublic Integer getArticleId() {return articleId;}@OneToOne(cascade=CascadeType.ALL)@JoinTable(name="article_content",joinColumns=@JoinColumn(name="aid"),inverseJoinColumns=@JoinColumn(name="aid_fk"))public articleContent getContent() {return content;}...... }生成三张表 分别为:article,article_content,articlecontent 其中 article_content 分别生成两个外键具体参考等价建表语句:
CREATE TABLE `article_content` (`aid_fk` int(11) DEFAULT NULL,`aid` int(11) NOT NULL,PRIMARY KEY (`aid`),KEY `FK_7pgn2vn8r1lpswmh5v2ix667s` (`aid_fk`),CONSTRAINT `FK_ebfc4cs1sishg6u8kwpvgqqj9` FOREIGN KEY (`aid`) REFERENCES `article` (`articleId`),CONSTRAINT `FK_7pgn2vn8r1lpswmh5v2ix667s` FOREIGN KEY (`aid_fk`) REFERENCES `articlecontent` (`cId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
转载于:https://www.cnblogs.com/rhythmK/p/3705259.html
与50位技术专家面对面20年技术见证,附赠技术全景图总结
以上是生活随笔为你收集整理的Rhythmk 学习 Hibernate 08 - Hibernate annotation 关联关系注解的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: NGUI所见即所得之深入剖析UIPane
- 下一篇: 如何检测远程主机上的某个端口是否开启