Non riesco in qualche modo a importare la lib play.db.jpa.Model
nel mio modello, può trovare solo play.db.ebean.Model
. C'è un modo per importarlo?non può importare play.db.jpa.Model nel mio modello
grazie
Non riesco in qualche modo a importare la lib play.db.jpa.Model
nel mio modello, può trovare solo play.db.ebean.Model
. C'è un modo per importarlo?non può importare play.db.jpa.Model nel mio modello
grazie
Questo è dovuto al fatto play.db.jpa.Model
è un gioco 1.xe 2.x. play.db.ebean.Model
è un gioco
Per utilizzare JPA in Play 2.x, vedere http://www.playframework.org/documentation/2.0/JavaJPA
Il play.db.jpa.Model classe non è disponibile dal gioco 2.0. La soluzione che ho trovato a questo problema è:
YourProject/conf/application.conf
, dichiarare la configurazione JPA:db.default.driver = org.h2.Driver
db.default.url =" jdbc: h2: mem: play"
db.default.jndiName = DefaultDS
E l'unità di persistenza:
jpa.default = defaultPersistenceUnit
Creare un META-INF nuovo pacchetto chiamato a ProgettoUtente/conf/
All'interno di questo pacchetto di creare un file denominato 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
modificare le dipendenze di aggiungere il seguente:appDependencies val = Seq (
// aggiunge il progetto dipendenze qui,
javacore,
javaJdbc,
javaJpa,
"org.hibernate"% "hibernate-entitymanager"% "4.2.1.Final"
)
Inoltre è possibile disattivare Ebean se non si ha intenzione di usarlo con:
val main = play.Project(appName, appVersion, appDependencies).settings(
ebeanEnabled := false
)
Spero che questo aiuti.
"jpa.default = defaultPersistenceUnit" in application.conf è la parte in cui ho trascorso alcune ore cercando di capire. Ancora non l'ho trovato documentato da nessuna parte ma nella sorgente di JPAPlugin. :( –
@RodneyGitzel è nella documentazione 2.2 sotto JPA: http://www.playframework.com/documentation/2.2.x/JavaJPA, vedere l'ultima parte di "Creazione di un'unità di persistenza" – chris
@chris purtroppo è stato escluso dei documenti 2.1: http://www.playframework.com/documentation/2.1.x/JavaJPA –
oh davvero? ma perché non riesco a trovare il metodo '' find() '' di Model allora? – doniyor
ora devo implementare il metodo di ricerca da solo? come .. '' statico pubblico Cerca utente (ID lungo) {'' '' return JPA.em(). Find (User.class, id); } '' – doniyor
sì ... è uno dei pro/contro di Play 2.x ... è meno magico, quindi più lavoro, ma perché è meno magico, è più chiaro che cosa sta succedendo. – Codemwnci