我正在学习如何使用Play框架来获取和设置持久对象。
我正在使用JPA 2和Hibernate实现,同时使用Oracle DB。
我已经读过Play通过扩展模型类来管理事务。
我已添加到build.sbt -> val appDependencies = Seq("org.hibernate" % "hibernate-entitymanager" % "4.2.2.Final")
我在application.conf中添加了 - >
db.default.driver=oracle.jdbc.driver.OracleDriver
db.default.url="whatever"
db.user....
db.pass....
ebean.datasource.default=DefaultDS
ebean.default="model.*"
ebean.datasource.factory=jndi
我已将@Entity
注释添加到我的Person类,从play.db.ebean.Model
扩展了模型,并在主类中创建了一个新人并执行了p.update();
我正在javax.persistence.PersistenceException: The default EbeanServer has not been defined
。
我错过了什么?
答案 0 :(得分:2)
使用Play,您可以使用Ebean或其他JPA提供程序。最直接的解决方案是使用Ebean,因为它更好地与Play集成。
在这种情况下,你不需要任何hibernate依赖,你可以删除它,只使用javaEbean
一个(当然是JDBC驱动程序的依赖项)。
在你的application.conf
中,你可能不需要JNDI注册的数据源,所以这样就足够了:
db.default.driver=...
db.default.url=...
db.default.user=...
db.default.password=...
ebean.default="model.*"