が存在するとき、不足しているサブクラスのエンティティを作成する、彼らは両方のPKと同じIDを持っていると私は作成したHibernateのクラスがありますこれらのように:歴史的経緯によりスーパーは、私は(1:1の関係)のデータベース上の2つのテーブル<strong>S</strong>と<strong>私は</strong>を持って
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class S {
@Id
@Column(name = "id")
@GeneratedValue(...)
@SequenceGenerator...
private long id;
....
}
@Entity
@PrimaryKeyJoinColumn(name = "id")
public class I extends S {
....
}
、データベース内にタイプSのオブジェクトではなく、タイプIの関連オブジェクトがあります。私はそれらをIのオブジェクトを作成したいと思います。どうやってやるの? I左からタイプオブジェクトを作成できますか?このようなHQLクエリを結合しますか?私が作成した新しいIエンティティ(新しいI())し、それを持続しようとした場合
select i from I i right join i.id s where s.id = :id
、私はそれが既に存在しているSレコードを作成しようとして、いくつかの例外を得ることができました。 エンティティのレコードはまだ存在しません。この不足を作成するにはどうすればいいですかI部分エンティティ?
PSあなたが私に確かにあなたのために動作します
これはhttps://stackoverflow.com/questions/26038707/how-to-create-child-object-of-existing-super-object-using-joined-inheritance-stのように似たような状況でありますしかし、私はそのアプローチだけでなく、それを解決する手段に興味があります.... – MihaiS