[英]Spring Data JPA Relationship Annotations
我正在学习Spring Data JPA,在建立这两个表之间的关系时遇到了一些麻烦:
产品只能具有一种类型。 一个类型可以与许多产品关联。
我在实体类中的哪里使用@OnetoMany和@ManytoOne注释?
对于您在问题中提到的情况,您的实体应为:
@Entity
public class Product {
@Id
@GeneratedValue
private Long id;
private String name;
@ManyToOne
private ProductType type;
// Getters and setters
}
@Entity
public class ProductType {
@Id
@GeneratedValue
private Long id;
private String name;
@OneToMany(mappedBy = "type")
private List<Product> products;
// Getters and setters
}
实体产品应具有带有注释@ManyToOne的ProductType字段。 实体ProductType应该具有带有注释@OneToMany(mappedBy ='productType')的字段Set
在纠正了他在逆实体(即ProductType类)中犯的小错误之后,Cassio Mazzochi Molin的答案应该对您有用。 @OneToMany应该映射到拥有实体(即Product类)中的变量类型,而不是productType。 所以那条线应该是
@OneToMany(mappedBy = "type")
我还将建议您选择一本有关jpa 2的优秀教程书,并特别学习关系部分,因为它有很多规则,您只能通过自己学习来学习,否则您将继续在这里提问,请相信我。
Pro JPA 2:Apress精通JAVA持久性API是一本非常不错的教程,可以为您提供帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.