5
A
回答
6
首先不要在模型中擴展(play.db.jpa.Model)模型,而是使用GenericModel來生成Id。
然後你可以使用助手類,當創建對象(在構造函數中)時調用。
或致電助手類的保存時(因此我必須創建包裝DAO,保存過程中包裝DAO在這個對象不是這樣我就可以生成ID保存對象)
,或者如果您想要更簡單的方法使用JPA UUID。見下面的代碼。
@Entity
public class User extends GenericModel {
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
public String id;
}
5
好吧,Model類只是GenericModel的一個子類,它添加了屬性,方法和註釋,以便爲模型類提供生成的Long作爲@Id屬性。
如果你不想這樣做,你可以繼承GenericModel,並提供你自己的@Id。在你的情況下,這將是一個字符串來保存UUID。不過,您需要提出在新模型實例上初始化它的策略。
我不知道JPA提供的內置策略來生成UUID。一個簡單的方法是創建一個助手類,您可以調用一個方法來獲取新的UUID,並確保每次創建新模型時調用該類。
相關問題
- 1. BeanDefinitionStoreException與Play框架
- 2. Orbeon與Play整合!框架?
- 3. CAS認證與Play框架
- 4. Play框架 - GET與POST
- 5. Xcode - UUID與框架dSYM不匹配
- 6. Play框架 - java.nio.channels.ClosedChannelException
- 7. Play框架+ Scala
- 8. CORS Play框架
- 9. Play框架+ Postgres + Typesafe
- 10. Play框架和WCF
- 11. 使用Play框架
- 12. Play框架和JPA
- 13. ExtJS和Play!框架
- 14. 如何使用JasperReports與Play框架
- 15. 集成Play框架2.0和Spring框架
- 16. RESTful on Play! 2.0框架
- 17. Play框架2 changeLanguage()(Scala)
- 18. Play框架部署失敗
- 19. Play框架序列Tuple3
- 20. Play框架找不到javac
- 21. PLAY框架找不到sbtconfig.txt
- 22. Play框架中的UnExpectedException
- 23. Play框架表單(Java)
- 24. Play框架Ebean JoinColumn錯誤
- 25. Play框架 - Zip JSON請求
- 26. Play框架Scala REST刪除
- 27. 更新@OneToMany在Play框架
- 28. 運行Play框架項目
- 29. 參數未知(Play!框架)
- 30. 的Play框架整合AngularJS
GenericModel:不是反模式嗎?請參閱:http://en.wikipedia.org/wiki/BaseBean – Kowser
請參閱維基的評論和維基的中立性,這些維基的中立性說「這篇文章的中立性是有爭議的」,所以稱這種反模式不合適。 – indrap
是的,我明白了。需要研究更多以澄清問題。 – Kowser