博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HIbernate映射关系之一对一(双向)
阅读量:6496 次
发布时间:2019-06-24

本文共 2006 字,大约阅读时间需要 6 分钟。

hot3.png

1:student  学生类 

2:studentLog 学生日志类 

3:studentExtend 学生扩展类

对于普通的业务需求,可能只需要student、studentLog就可以了,但此处模仿多个类来做映射:

@Entity@Table(name="student")public class Student implements Serializable { private Integer id; private String username; private StudentLog studentLog; private StudentExtend studentExtend;  @Id @GeneratedValue(strategy=GenerationType.AUTO) public Integer getId() {  return id; }  /fetch=FetchType.LAZY 设置懒加载 //cascade={CascadeType.REMOVE} 级联删除(注意不是在Studentlog、studentExtend设置) //mappedBy="student" @OneToOne(fetch=FetchType.LAZY,cascade={CascadeType.REMOVE},mappedBy="student") public StudentExtend getStudentExtend() {  return studentExtend; }  @OneToOne(fetch=FetchType.LAZY,cascade={CascadeType.REMOVE},mappedBy="student") public StudentLog getStudentLog() {  return studentLog; } @Column(name="username",unique=true,nullable=false) public String getUsername() {  return username; } //tXxx略

 

@Entity@Table(name="student_log")public class StudentLog implements Serializable { private Integer id; private Student student; private String message;  @Id @GeneratedValue(strategy=GenerationType.AUTO) public Integer getId() {  return id; } @Column(name="message",unique=false,nullable=false) public String getMessage() {  return message; } @OneToOne(fetch=FetchType.LAZY) @JoinColumn(name="student_id") public Student getStudent() {  return student; } //etXxx略
@Entity@Table(name="student_extend")public class StudentExtend implements Serializable { private Integer id; private Student student; private String extendMessage;  @Id @GeneratedValue(strategy=GenerationType.AUTO) public Integer getId() {  return id; } @Column(name="extend_message",unique=false,nullable=false) public String getExtendMessage() {  return extendMessage; } @OneToOne(fetch=FetchType.LAZY) @JoinColumn(name="student_id") public Student getStudent() {  return student; }//tXxx略

 然后直接调用session.delete删除student(主表)记录时,studentLog、studentExtend等从表也会被删除

 studentService.deleteById(1);

转载于:https://my.oschina.net/foreverhui/blog/277517

你可能感兴趣的文章
理解正向索引
查看>>
xp/2003开关3389指令
查看>>
Oracle中merge into的使用
查看>>
iOS 设置UILabel 的内边距
查看>>
Android ViewPager使用具体解释
查看>>
php 命中算法
查看>>
Effective Java - Item 1: Consider static factory methods instead of constructors
查看>>
Spring注解@Component、@Repository、@Service、@Controller,@Autowired、@Resource用法
查看>>
c基础知识复习
查看>>
如何彻底卸载mysql(xp)
查看>>
.net反射详解(转)
查看>>
使用jquery.more.js来实现点击底部更多后, 底部加载出新的数据
查看>>
使用dom4j解析XML例子
查看>>
adviser vs mentor
查看>>
JavaBean简单及使用
查看>>
VS2013 编译&使用 stlport
查看>>
几种更新(Update语句)查询的方法
查看>>
20步打造最安全的Nginx Web服务器
查看>>
WP8:Unity3D之间的值传递
查看>>
string与数值之间的转换
查看>>