2017-06-07 15 views
0

私は春データJPAを学び、いくつかの問題この2つのテーブル間の関係を確立することだ:春データJPA関係注釈

  • 製品テーブルを列のID、名前で、列IDで
  • PRODUCT_TYPEテーブルをproduct_type_id 、名称

製品には1つのタイプしかない場合があります。タイプは多くの製品に関連付けることができます。

エンティティクラスで@OnetoManyアノテーションと@ManytoOneアノテーションをどこで使用しますか?

+0

基本的なJPA(Springとは関係ありません)のドキュメントを読んでください。 http://www.datanucleus.org/products/accessplatform_5_1/jpa/mapping.html#one_many_relations –

答えて

1

を持っている必要があり、あなたのエンティティは次のようにする必要があります:

@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 
} 
0

エンティティプロダクトには、アノテーション@ManyToOneを持つフィールドProductTypeが必要です。 エンティティでProductTypeは、あなたの質問に記載された状況についての注釈@OneToMany(mappedBy = 'でProductType')に設定し、フィールド

0

カッシオMazzochi Molinがさん逆のエンティティ(つまりProductTypeクラス)で作成した小さな間違いを修正した後、答えがあなたのために働くはずです。 @OneToManyは、productTypeではなく、所有エンティティ(つまりProductクラス)の変数型にマップする必要があります。だから、その行は

@OneToMany(mappedBy = "type") 

あなただけの自分で研究することによって学ぶことができ、それまでのルールの多くがありますので、私もお勧めあなたは、特別な関係の一部をJPA 2には良いチュートリアル本をピックアップし、検討するべきですそうでなければ、ここで質問し続けて、信頼してください。

Pro JPA 2:ApressによるJAVA永続性APIのマスターは、あなたを助ける非常に良いチュートリアルブックです。

+0

それを指摘してくれてありがとう:) –