谈 Hibernate Annotation @mappedBy含义
2015-01-21 11:40
337 查看
“一对多/多对一”是数据库表关系中最常见的一种关系。两张表通过外键进行关联,实现表达“一对多/多对一”关系。外键通常位于”多方”表中。
用学生选课的例子 来说一下自己对这个注释@mappedBy的理解。
关系:
学生Student 多方--------课程Course 多方
学生 Student多方--------老师 Teacher一方
mappedBy 指向的是放弃维护关系的一方。 学生与课程,即课程类放弃维护关系,外键在Student类中。学生与老师,即老师Teacher放弃维护关系,外键在学生Student类中。
数据库表单
course类表单
学生类表单
学生 -老师关系表
用学生选课的例子 来说一下自己对这个注释@mappedBy的理解。
关系:
学生Student 多方--------课程Course 多方
学生 Student多方--------老师 Teacher一方
mappedBy 指向的是放弃维护关系的一方。 学生与课程,即课程类放弃维护关系,外键在Student类中。学生与老师,即老师Teacher放弃维护关系,外键在学生Student类中。
@Entity @Table(name="t_student") public class Student { @Id @GeneratedValue private Integer id; //主键Id private String uname; //学生名字 private String pwd;// 密码 private String phone;//手机号码 private String email;//邮箱 /* * 外键通常放在 多方表中,放在学生表中.course放弃维护 */ @ManyToMany private Set<Course> courses = new HashSet<Course>(); @ManyToOne private Teacher teacher;
@Entity @Table(name="t_course") public class Course { @Id @GeneratedValue private Integer id; private String courseDesc;//课程描述 private String courseNo;//课程代号 //Course放弃 维护外键。 @ManyToMany(mappedBy="courses") private Set<Student>students= new HashSet<Student>();
@Entity @Table(name="t_teacher") public class Teacher { @Id @GeneratedValue private Integer id; private String name;//姓名 private String pwd;//密码 private String phone;//手机 /* * 外键一般放在 多方表中. * mappedBy 指向的是 放弃 维护 关系的类.即,Teacher 类 放弃 维护关系 ,外键 放在Student类中,让学生来维护 。 */ @OneToMany(mappedBy="teacher") private Set<Student>students = new HashSet<Student>();
数据库表单
course类表单
学生类表单
学生 -老师关系表
相关文章推荐
- Hibernate Annotation @mappedBy含义在使用onetoone 时候【外键双向关联】(十三)
- Hibernate Annotation @mappedBy含义
- Hibernate Annotation @mappedBy含义
- org.hibernate.AnnotationException: Associations marked as mappedBy must not define database mappings
- Hibernate_基于Annotation的使用_ManyToOne_Demo(mappedBy="person")
- Hibernate_基于Annotation的使用_OneToOne_Demo(不维护关系那方(mappedBy="person"))
- Hibernate Annotation mappedBy注解理解
- Understanding mappedBy annotation in Hibernate
- 转Hibernate Annotation mappedBy注解理解
- nested exception is org.hibernate.AnnotationException: Unknown mappedBy in
- org.hibernate.AnnotationException: mappedBy reference an unknown target entity property
- mappedBy in Hibernate/JPA
- 码农小汪-Hibernate学习8-hibernate关联关系注解表示@OneToMany mappedBy @ManyToMany @JoinTable
- Hibernate之mappedBy
- Caused by: org.hibernate.hql.ast.QuerySyntaxException: TkltEmpQuitProcess is not mapped. 问题解决
- Can someone please explain mappedBy in hibernate?
- hibernate mappedBy
- hibernate基于注解的维护权反转:@OneToMany(mappedBy=)
- hibernate 单向外键关联,一对一双向外间关联凡是双向关联必设mappedBy!!!
- Hibernate之mappedBy