Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将play.db.jpa.Model导入我的模型_Jpa_Model_Playframework - Fatal编程技术网

无法将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类不可用。我发现这个问题的解决方案是:

  • YourProject/conf/application.conf
    中,声明JPA配置:
db.default.driver=org.h2.driver
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 
)