別のテーブルの列から現在のオブジェクトに単一の値をどのようにマップしますか?
例:
class Foo {
@Id
@Column(name="FOO_ID")
private String fooId;
@Column(name="FOO_A")
private String fooA;
//Column to map to another table?
//is a one to one mapping - but don't want a separate object for this.
private String barCode;
}
テーブル:Fields
Foo:FOO_ID, FOO_A
バー:FOO_ID, BAR_CODE
BAR_CODE
を使用して別のオブジェクト(またはセカンダリテーブル)を作成せずにJPA annotations
フィールドを取得するにはどうすればよいですか?
セカンダリテーブル を使用します。これにより、エンティティを1対1で別のテーブルにマッピングし、それを使用する列マッピングを定義できます。
例:
@Entity
@Table(name = "foo")
@SecondaryTable(name = "other_table", pkJoinColumns=@PrimaryKeyJoinColumn(name="id", referencedColumnName="FOO_ID"))
public class Foo {
@Id
@Column(name="FOO_ID")
private String fooId;
@Column(name="FOO_A")
private String fooA;
@Column(table="OtherTable", name="barCode")
private String barCode;
}