2013-11-24 35 views
1

我正在學習如何使用Play框架來獲取和設置持久對象。 我在使用Oracle DB時使用JPA 2和Hibernate實現。 我讀過Play Play通過擴展模型類來管理交易。 我已經加入到build.sbt -> val appDependencies = Seq("org.hibernate" % "hibernate-entitymanager" % "4.2.2.Final")播放2 - 默認的ebeanServer尚未定義

要我已經添加了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

我錯過了什麼?

回答

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.*"