すべてのエンティティが3つのフィールドで構成されるプライマリキーを持つプロジェクトのエンティティ間の関係に問題があります。コンポジットキーマッピングJPA + Hibernate
Product(**ck_del, cod_empresa, codigo**, description, cod_group, cod_tax);
Group(**ck_del, cod_empresa, codigo**, description);
Tax(**ck_del, cod_empresa, codigo**, description);
//Mapping in the entity PRODUCT
@ManyToOne
@JoinColumn(name="COD_GROUP" , referencedColumnName="CODIGO")
private Group group;
@ManyToOne
@JoinColumn(name="COD_TAX" , referencedColumnName="CODIGO")
private Tax tax;
私は各エンティティのフィールドコードにより、他の2つのエンティティとエンティティのエンティティをマップしようとエラーを返します:プライマリグループキーを配合しているため、おそらく
referencedColumnNames(CODIGO) of models.Product.group referencing models.Group not mapped to a single property
があり、エンティティの主キーを変更することなくこの関係を行う方法はありますか?
問題は関係が参照のみCOD_GROUP + COD_EMPRESAによって行われていることである CK_DEL属性が一般的ですすべてのエンティティに割り当てられ、各テーブルのレコードごとに一意です。 –
@ BrunoC。すべてのエンティティに共通する*なぜ主キーで使用するのですか? –
レジストリの整合性を維持するためのキーとしてck_del列が必要 –