我有一個要在數據庫中保存的單例。其他持久實體應該引用這個單例。 Hibernate如何實現?休眠/持久化和單例模式
我的東西還未這樣工作,僞裝單身的單ID結束:
@Entity
@Subselect("select '1' as ID")
class Singleton {
@Id
@Column(name="ID")
private Long getId() { return 1l; }
private void setId(Long id) { }
}
@Entity
@Table(name="ENT")
class MyEnt {
// TODO: how to annotate so that table ENT doesn't need foreign key column
Singleton s;
}
的問題是,我不希望有與實體的外鍵引用的列單身人士 - 因爲單身人士只有一個,我們不需要它的ID ...
也許我在想錯誤的方式嗎?也許這是錯誤的架構問題?你有沒有解決類似的問題?
是但如果你需要重新啓動容器或你有很多集裝箱?如何保存單身人士的當前狀態?或者在所有的容器中改變它? – ElderMael
我的意思是以設計的方式擁有這個對象。所有我想這麼說,我沒有看到任何其他實體映射的原因。加載對象一次,並保持在應用程序上下文中。如果您碰巧重新啓動容器,請重新加載。 –
1.因爲數據可以在數據庫中更改(webapp在更多節點上)2.因爲實體在其業務邏輯方法中需要單例。我不想將它放在「手動」的位置。它可以通過DAO服務爲由此DAO服務加載的實體完成,但是如何處理間接加載的實體(由原始實體引用)? – Jakub