制御データ DB-TABLE エンティティがあります
@Table(name = "A")
class A {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "A_OID")
private Long pk;
}
上記の DB-TABLE および他のいくつかを参照する DB-VIEW エンティティ
@Table(name = "A_VIEW")
class ARef {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "A_OID")
private Long pk;
private String value;
}
そこからいくつかvalue
の が結合されています。pk
は同じ行を参照しています。次のようなものを使用して、エンティティB
を参照して保存するにはどうすればよいですか。ARef
A
class B {
public ARef a;
}
A a = em.find(A.class, pk);
B b = new B();
b.a = a; // How to do this? Using pk somehow?
それ以上のものがあるので、ARef a = em.find(ARef.class, pk);
代わりに単純に行うことはできません。
OpenJPA にある種の「ネイティブ SQL」サポートがあることは知っていますが、それは低レベルすぎるでしょう。