私は春データJPAを学び、いくつかの問題この2つのテーブル間の関係を確立することだ:春データJPA関係注釈
- 製品テーブルを列のID、名前で、列IDで
- PRODUCT_TYPEテーブルをproduct_type_id 、名称
製品には1つのタイプしかない場合があります。タイプは多くの製品に関連付けることができます。
エンティティクラスで@OnetoManyアノテーションと@ManytoOneアノテーションをどこで使用しますか?
私は春データJPAを学び、いくつかの問題この2つのテーブル間の関係を確立することだ:春データJPA関係注釈
製品には1つのタイプしかない場合があります。タイプは多くの製品に関連付けることができます。
エンティティクラスで@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')に設定し、フィールド
カッシオMazzochi Molinがさん逆のエンティティ(つまりProductTypeクラス)で作成した小さな間違いを修正した後、答えがあなたのために働くはずです。 @OneToManyは、productTypeではなく、所有エンティティ(つまりProductクラス)の変数型にマップする必要があります。だから、その行は
@OneToMany(mappedBy = "type")
あなただけの自分で研究することによって学ぶことができ、それまでのルールの多くがありますので、私もお勧めあなたは、特別な関係の一部をJPA 2には良いチュートリアル本をピックアップし、検討するべきですそうでなければ、ここで質問し続けて、信頼してください。
Pro JPA 2:ApressによるJAVA永続性APIのマスターは、あなたを助ける非常に良いチュートリアルブックです。
それを指摘してくれてありがとう:) –
基本的なJPA(Springとは関係ありません)のドキュメントを読んでください。 http://www.datanucleus.org/products/accessplatform_5_1/jpa/mapping.html#one_many_relations –