1
時忽略休眠實體子類中我有這樣如何堅持
@Entity
public class Car{
@Column protected String name;
}
一切簡單的實體類是確定的,但現在我想用子類或匿名類此實體。
public class TestCar extends Car{
TestCar(){ this.name = "Test"; }
}
或
void foo(){
Car c = new Car(){
{ this.name = "Lone"; }
};
// ...
}
這些子類是隻爲實例的目的,並且可以通過休眠完全忽略。
但是當我嘗試保存實體時,我得到一個「未知實體」-Exception。
有沒有辦法讓休眠忽略這樣的子類?
編輯:這將是很好,如果我們能找到問題的答案。討論所有其他(衆所周知的)模式是沒有幫助的(至少不是我)。你應該看到,這只是一個非常簡單的例子來澄清問題。 (也許你應該忽略的用例)
剛剛發現這個可能重複的(還沒有解決):How to persist an entity from an non-entity subclass in Hibernate
你可以嘗試將它轉換爲超類,但我懷疑它會工作 - 只是從來沒有測試過它。 爲什麼不能簡單地創建'Car'來保存子類呢? – Antoniossss
鑄造不起作用。我唯一的解決方案是將所有屬性全部複製到一個新的「普通」汽車對象中,但這非常不方便。 – Marcel
這就是我所提到的。創建工廠方法,它會變得方便和簡單。 – Antoniossss