簡體   English   中英

Spring Data JPA關系注釋

[英]Spring Data JPA Relationship Annotations

我正在學習Spring Data JPA,在建立這兩個表之間的關系時遇到了一些麻煩:

  • 帶有ID,名稱,product_type_id列的產品表
  • 帶有列ID,名稱的product_type表

產品只能具有一種類型。 一個類型可以與許多產品關聯。

我在實體類中的哪里使用@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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM