我有2個表小號和我數據庫(以1:1的關係)上,它們都具有相同的ID pk和我創建Hibernate類是像這樣的:創建缺失的子類實體時,存在超
@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 {
....
}
由於歷史的原因,在數據庫中有型小號的對象,但不是我類型的關聯對象。我想創建一個使用Hibernate的我類型的對象。我怎樣才能做到這一點?我可以創建從左邊的我類型的對象聯接HQL這樣的查詢?
select i from I i right join i.id s where s.id = :id
如果我試圖創建一個新的我實體(新我()),然後堅持它,我只設法獲得一些例外,因爲它試圖創建一個已經存在的小號記錄。我不能爲我實體做一個簡單的讀/負載爲我記錄尚不存在。我該怎麼做才能創造這個失蹤我部分實體?
PS如果你點我不清楚事情
這是一個類似的情況在https://stackoverflow.com/questions/26038707/how-to-create-child-object-of-existing-super-object-using-joined-inheritance-st但我對解決這個問題的方法感興趣,不僅僅是他們的方法...... – MihaiS