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