欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Rhythmk 学习 Hibernate 08 - Hibernate annotation 关联关系注解

发布时间:2025/3/14 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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 关联关系注解的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。