1

いくつかのスキーマに分割された大きなデータベースがあります。Eclipseウィザード(JPAツール)から、あるスキーマのJPAエンティティを生成しますが、他のスキーマの他のテーブルに依存するテーブルがいくつかあり、問題はそれらのエンティティが次のように作成されることです:

//Foreign Key of one table in other schema
@Column(name="TABLE_ID")
private BigDecimal tableId;

そして、私はそれがこのように生成されなければならないと思います:

//Foreign Key of one table in other schema
@JoinColum(name="TABLE_ID")
private TableClass tableId;

2番目の方法は最初の方法よりも正しいですか? 2番目の方法でJPAエンティティを自動的に生成する方法はありますか??

4

1 に答える 1

0

jdbc 接続からTableClassへの可視性がない場合、実際のエンティティ関係の代わりに ID が生成されます。これらのテーブルにパブリック シノニム (または同等のもの) を作成すると役立つ場合があります。この種の動作は、テーブルが選択的に選択されている場合でも、リバース エンジニアリングで確認できます。選択されていないテーブルへのエンティティ関係は、通常、現在経験している方法で生成されます

たとえば、Person と Address の 2 つのテーブルと、Address から Person へのリンクがあります。

Person と Address の両方を選択すると、Address に次のような適切なエンティティ関係が生成されます。

private Person person;

一方、Address だけを選択すると、Person エンティティは JPA ツールによって生成されないため、生の型へのマッピングが作成されるだけです。

private BigDecimal personId;

これはあなたの場合に起こっているようです

`

于 2013-11-04T12:37:52.783 に答える