关于在JPA中使用@OneToOne @OneToMany @ManyToOne @ManyToMany
2018-01-04 16:26
393 查看
spring boot jpa
标签(空格分隔): springboot jpa本文主要讲解内容:
@OneToOne
@OneToMany
@ManyToOne
@ManyToMany
关于在JPA中使用@OneToOne @OneToMany @ManyToOne @ManyToMany
1. @OneToOne
单向映射,在字段上使用@OneToOne注解和@JoinColumn(name=”xxxx”),其中xxxx为当前表中关联其他表的字段,该字段为其他表的主键
@Entity @Table(name = "check_sub_records") public class CheckSubRecord { @OneToOne @JoinColumn(name = "super_item_id") private CheckSuperItem checkSuperItem; ...其他代码略 }
如上代码表示:super_item_id为check_sub_records表中的字段,其在关联表中的为CheckSuperItem对应表中的id字段。
2. @OneToMany
单向映射:
//one 的一方,many的一方无需使用主键 @Entity @Table(name = "orders") public class Order { @OneToMany @JoinColumn(name = "order_id") @OrderBy("id asc") private Set<OrderRecord> orderRecords; ...其他代码略 }
说明:@JoinColumn(name = “order_id”)中的order_id为many一方的外键字段
双向映射:在双向映射中需配合@ManyToOne使用
//one的一方 @Entity @Table(name = "users") public class User implements Serializable { @OneToMany(mappedBy = "user") @JsonIgnoreProperties("user") private Set<Car> cars; ...其他代码略 } //many 的一方 @Entity @Table(name = "cars") public class Car { @ManyToOne @JoinColumn(name = "user_id", referencedColumnName = "id") @JsonIgnoreProperties("cars") private User user; ...其他代码略 }
说明:one的一方使用@OneToMany(mappedBy=”user”),user为Car中的user属性;@JsonIgnoreProperties(“user”)该注解可防止json转换进入死循环;many的一方使用@ManyToOne,@JoinColumn(name = “user_id”, referencedColumnName = “id”),其中name为cars(many)表中的外键字段,referencedColumnName为users(one)表的主键;@JsonIgnoreProperties(“cars”)该注解可防止json转换进入死循环。
3. 待续…@ManyToOne
4. 待续…@ManyToMany
相关文章推荐
- spring-data-jpa 中,如果使用了one-to-many , many-to-one的注释,会在Jackson进行json字符串化的时候出现错误
- 关于为什么单向一对多(one-to-many)要使用关联表的再思考
- 用JoinColumn使用JPA的OneToMany不自动生成数据库表
- jpa onetomany 使用级连表 删除被维护表数据时的坑
- Spring------Spring data jpa 定义实体类(@OneToMany等的使用)
- spring-data-jpa——如果使用了one-to-many,many-to-one的注解,在Jackson进行json字符串化时出现错误的解决方案
- spring-data-jpa 中,如果使用了one-to-many , many-to-one的注释,会在Jackson进行json字符串化的时候出现错误
- Hibernate中使用JPA注解@OneToMany的cascade级联标签
- hibernate3.5和spring结合使用annotation时onetomany的bug
- 关于nhibernate one-to-one/many-to-one/many-to-many的说明
- 关于NHibernate中one to many 的问题
- 关于Hibernate中many-to-one和one-to-many的一些理解
- onetomany and manytoone
- Hibernate 使用 Annotation 之 OneToMany(单向关联关系)
- 关于Nhibernate中One-to-many的一些疑惑
- org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.demo.pojo.IdCard
- Using JoinColumn, JPA using oneToMany mappedBy
- 基于JPA的CRUD(OneToMany)
- Hibernate使用property-ref属性解决遗留数据库One To Many关系的问题。
- jpa onetomany