2019独角兽企业重金招聘Python工程师标准>>>

以微博或博客为例,我们希望用户-用户信息设计为如下关系,即用户表用户口令登录等操作、用户信息表用户记录信息:

用户User代码清单:

import ***;/*** @author Barudisshu*/
@Entity
@Table(name = "t_user", schema = "", catalog = "db_blog")
public class User implements Serializable {private int id;                 //用户自动Idprivate String username;        //用户名private String password;        //密码private Info info;              //用户信息@Id@Column(name = "id", nullable = false, insertable = true, updatable = true)public int getId() {return id;}public void setId(int id) {this.id = id;}@Basic@Column(name = "username", nullable = true, insertable = true, updatable = true, length = 255)public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}@Basic@Column(name = "password", nullable = true, insertable = true, updatable = true, length = 255)public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@OneToOne(cascade = CascadeType.ALL, targetEntity = Info.class,mappedBy = "user")public Info getInfo() {return info;}public void setInfo(Info info) {this.info = info;}//Override Object method
}

使用@OnetoOne标明1-1关联关系,并指定映射实体字段为user。

用户信息Info代码清单:

import ***;/*** @author Barudisshu*/
@Entity
@Table(name = "t_info", schema = "", catalog = "db_blog")
public class Info implements Serializable {private int id;             //用户信息自动Idprivate String mood;        //发布心情private Integer qq;         //QQ号码private String email;       //电子邮箱private String phone;       //电话号码private String avatar;      //头像地址private String qqBlog;      //腾讯博客private String sinaBlog;    //新浪博客private String leave;       //博主留言private User user;          //用户信息@Id@Column(name = "id", nullable = false, insertable = true, updatable = true)public int getId() {return id;}public void setId(int id) {this.id = id;}@Basic@Column(name = "mood", nullable = true, insertable = true, updatable = true, length = 255)public String getMood() {return mood;}public void setMood(String mood) {this.mood = mood;}@Basic@Column(name = "QQ", nullable = true, insertable = true, updatable = true)public Integer getQq() {return qq;}public void setQq(Integer qq) {this.qq = qq;}@Basic@Column(name = "email", nullable = true, insertable = true, updatable = true, length = 400)public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Basic@Column(name = "phone", nullable = true, insertable = true, updatable = true, length = 120)public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}@Basic@Column(name = "avatar", nullable = true, insertable = true, updatable = true, length = 4000)public String getAvatar() {return avatar;}public void setAvatar(String avatar) {this.avatar = avatar;}@Basic@Column(name = "QQBlog", nullable = true, insertable = true, updatable = true, length = 4000)public String getQqBlog() {return qqBlog;}public void setQqBlog(String qqBlog) {this.qqBlog = qqBlog;}@Basic@Column(name = "SinaBlog", nullable = true, insertable = true, updatable = true, length = 4000)public String getSinaBlog() {return sinaBlog;}public void setSinaBlog(String sinaBlog) {this.sinaBlog = sinaBlog;}@Basic@Column(name = "contact", nullable = true, insertable = true, updatable = true, length = 800)public String getLeave() {return leave;}public void setLeave(String leave) {this.leave = leave;}@OneToOne(optional = false)@PrimaryKeyJoinColumnpublic User getUser() {return user;}public void setUser(User user) {this.user = user;}//Override Object method
}

用户信息表Info使用@PrimaryKeyJoinColumn注解字段user为主键字段。

转载于:https://my.oschina.net/Barudisshu/blog/311893

Hibernate注解方式实现1-1双向关联相关推荐

  1. hibernate注解方式来处理映射关系

    在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式 ...

  2. Hibernate(九)一对多双向关联映射

    上次的博文Hibernate从入门到精通(八)一对多单向关联映射中,我们讲解了一下一对多单向映射的相关 内容,这次我们讲解一下一对多双向映射的相关内容. 一对多双向关联映射 一对多双向关联映 射,即在 ...

  3. hibernate annotation注解方式来处理映射关系

    2019独角兽企业重金招聘Python工程师标准>>> 在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟 ...

  4. [置顶] Hibernate从入门到精通(十一)多对多双向关联映射

    上次我们在中Hibernate从入门到精通(十)多对多单向关联映射讲解了一下多对多单向关联映射,这次我们讲解一下七种映射中的最后一种多对多双向关联映射. 多对多双向关联映射 按照我们之前的惯例,先看一 ...

  5. 【Hibernate步步为营】--(一对多映射)之双向关联

    上篇文章讨论了单向关联的一对多映射,在一的一端维护双向的关系这种做法虽然能实现但是存在很多缺陷,首先生成很多多余的SQL语句,因为多的一端不维护关系,只有一的一端维护,在进行操作时一的一端会发出多余的 ...

  6. Hibernate映射详解(二)--多对一,一对多单向,一对多双向关联映射

    在我们以前的数据库设计中,设计表就不是一件轻松的事情.多种事物之间往往都是有这样那样的关系的.那怎样设计表格,才能既将事情描述明白,又能使数据库设计的比较合理呢?那里我们提供了好多规范,好多约束来满足 ...

  7. Hibernate一对多单向关联和双向关联映射方法及其优缺点

    一对多关联映射和多对一关联映射实现的基本原理都是一样的,既是在多的一端加入一个外键指向一的一端外键,而主要的区别就是维护端不同. 它们的区别在于维护的关系不同: 一对多关联映射是指在加载一的一端数据的 ...

  8. hibernate 一对多(one-to-many)双向关联

    一对多(one-to-many)双向关联实例(Department- Employee) 这里的一对多双向关联是在域模型(实体对象模型)上的概念,在关系数据库中,只存在外键参照关系,而且总是由&quo ...

  9. hibernate的一对多双向关联映射----客户和订单关系

    客户和订单关系:客户是一的一方,订单是多的一方. customer表: CREATE TABLE `customer` ( `ID` int(4) NOT NULL AUTO_INCREMENT , ...

最新文章

  1. netty如何实现零拷贝
  2. 【中级软考】RSA、IDEA、RC4、MD5算法分别是什么?
  3. 【Tools】MarkDown教程(八)-Typora使用完全手册
  4. python123输出hello world_Python基础:输入与输出
  5. python3 爬虫
  6. FreeMarker整合Spring 3(转)
  7. Matlab 求全要素生产率,如何用DEAP进行全要素生产率分析
  8. LINUX下汉化CodeBlocks
  9. matlab 门限回归模型,门限回归及Stata操作汇总与空间门槛回归模型简介
  10. html文本特效代码逐个出现,JS特效文字逐个显示
  11. 【PCI】PCI驱动匹配(四)
  12. [Swift]语言介绍
  13. 魔兽铃声(适合做短信铃声)铃声 魔兽铃声(适合做短信铃声)手机...
  14. 偏偏在面试的时候踏入一个大坑--360浏览器兼容模式
  15. css制作聊天气泡android,css实现聊天气泡效果
  16. 头像制作抖音微信壁纸小程序搭建一个基于uniCloud阿里OSS对象存储的免费图床源码
  17. SQL建表后设定唯一性
  18. 向数据库中批量插入数据的sql 语句
  19. 免费分享一个SpringBoot鲜花商城管理系统,很漂亮的
  20. 2019杭州西溪龙舟文化节在西安大明宫举行

热门文章

  1. PL/SQL 训练12--动态sql和绑定变量
  2. 18 Loader 总结
  3. MongoDB Replication
  4. akoj-1153-p次方求和
  5. 多项新政催生本年度购房最佳“窗口期”
  6. Java基础之扩展GUI——高亮元素、上下文菜单、移动旋转元素、自定义颜色(Sketcher 10)...
  7. 每次Title显示不同的名言
  8. 键值数据库LevelDB的优缺点及性能分析
  9. 你是怎样“被平均”的?细数统计数据中的那些坑
  10. 《2018中国区块链行业分析报告》(50页PPT全文)