无法将play.db.jpa.Model导入我的模型
我无法以某种方式将无法将play.db.jpa.Model导入我的模型,jpa,model,playframework,Jpa,Model,Playframework,我无法以某种方式将play.db.jpa.Modellib导入到我的模型中,它只能找到play.db.ebean.Model。有没有办法导入这个 谢谢那是因为play.db.jpa.Model是play 1.x,而play.db.ebean.Model是play 2.x 要在Play 2.x中使用JPA,请参见Play 2.0上的Play.db.JPA.Model类不可用。我发现这个问题的解决方案是: 在YourProject/conf/application.conf中,声明JPA配置:
play.db.jpa.Model
lib导入到我的模型中,它只能找到play.db.ebean.Model
。有没有办法导入这个
谢谢那是因为
play.db.jpa.Model
是play 1.x,而play.db.ebean.Model
是play 2.x
要在Play 2.x中使用JPA,请参见Play 2.0上的Play.db.JPA.Model类不可用。我发现这个问题的解决方案是:
- 在
中,声明JPA配置:YourProject/conf/application.conf
db.default.url=“jdbc:h2:mem:play”
db.default.jndiName=DefaultDS 以及持久化单元:
jpa.default=defaultPersistenceUnit
- 在project/conf中创建一个名为META-INF的新包/
- 在此包中创建一个名为
:persistence.xml的文件
- 之后,在项目上运行PlayEclipse并刷新李>
希望这有帮助。哦,真的吗?但是为什么我找不到Model的
find()
方法呢?现在我必须自己实现find方法吗?像<代码>公共静态用户查找(长id){返回JPA.em().find(User.class,id);}
是的……这是Play 2.x的优点/缺点之一……它没有那么神奇,所以需要更多的工作,但因为它没有那么神奇,它更清楚地说明了发生了什么。application.conf中的“JPA.default=defaultPersistenceUnit”是我花了几个小时试图弄清楚的部分。除了在JPAPlugin的源代码中,仍然没有在任何地方找到它的文档(@Rodneygizel在JPA:下的2.2文档中,请参阅“创建持久性单元”的最后一部分@chris不幸的是,它被遗漏在2.1文档中:@Rodneygizel哦,真是个大笨蛋。+1-希望这能节省其他人的时间/理智!
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>DefaultDS</non-jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
</properties>
</persistence-unit>
</persistence>
val main = play.Project(appName, appVersion, appDependencies).settings(
ebeanEnabled := false
)