我正在開發使用長輪詢的「種類」聊天應用程序。如何使用JPA將非實體對象存儲到數據庫中? (Play Framework)
我正在使用Play Framework 1.2.5,我試圖處理使用JPA將他們的信息存儲在數據庫中的多個對話。
爲了聆聽併發布每個事件進入聊天(某人加入,離開或發短信)我使用的類型爲ArchivedEventStream < Event>的對象,但由於此對象不是實體,Play Framework不會在數據庫中找不到適合他的類型。
目前,我做了一個靜態HashMap,每個對話的Model ID作爲關鍵字,而我的ArchivedEventStream對象則帶有事件。我將@Transient註解添加到它中,不計算我的Map到數據庫中並避免錯誤。
@Transient
public final static HashMap<Long, ArchivedEventStream<PlayEvent>> playEvents = new HashMap<Long, F.ArchivedEventStream<PlayEvent>>();
它適用於當下,很多人可以使用下面自己通量自己的談話,但一段時間後,服務器將刪除此生產一些NullPointerExceptions的靜態變量。
有什麼辦法可以將這個對象存儲到我的數據庫中,這樣它就可以訪問每個對話嗎?
或者,我可以停止我的服務器玩毀滅我的變量?
甚至,有沒有其他更好的選擇來解決這個問題?
非常感謝。