5

我无法以某种方式将play.db.jpa.Modellib 导入到我的模型中,它只能找到play.db.ebean.Model. 有没有办法导入这个?

谢谢

4

2 回答 2

9

那是因为play.db.jpa.ModelPlay 1.x 和play.db.ebean.ModelPlay 2.x。

要在 Play 2.x 中使用 JPA,请参阅http://www.playframework.org/documentation/2.0/JavaJPA

于 2012-06-28T19:04:49.313 回答
4

play.db.jpa.Model 类从 play 2.0 开始不可用。我发现这个问题的解决方案是:

  • 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

  • 在 YourProject/conf/ 创建一个名为 META-INF 的新包

  • 在这个包中创建一个名为的文件persistence.xml

 <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>
  • YourProject/project/Build.scala修改依赖项以添加以下内容:

val appDependencies = Seq(
// 在这里添加你的项目依赖,
javaCore,
javaJdbc,
javaJpa,
"org.hibernate" % "hibernate-entitymanager" % "4.2.1.Final"
)

如果您不打算使用 Ebean,您也可以禁用它:

val main = play.Project(appName, appVersion, appDependencies).settings(
  ebeanEnabled := false 
)
  • 在此之后,在您的项目上运行 play eclipse 并刷新。

希望这可以帮助。

于 2013-07-19T11:54:49.293 回答