2012-06-28 12 views

Odpowiedz

9

To dlatego play.db.jpa.Model to play 1.x i play.db.ebean.Model to grać 2.x.

Aby użyć WZP w grze 2.x, zobacz http://www.playframework.org/documentation/2.0/JavaJPA

+0

o tak naprawdę? ale dlaczego nie mogę znaleźć metody 'find()' 'modelu? – doniyor

+1

teraz muszę zaimplementować metodę wyszukiwania na własną rękę? jak .. '' public static Wyszukaj użytkownika (Long id) {'' '' return JPA.em(). Find (User.class, id); } '' – doniyor

+1

tak ... jest to jeden z plusów/minusów Play 2.x ... jego mniej magii, więc więcej pracy, ale z powodu mniejszej magii, tym jaśniej co się dzieje. – Codemwnci

3

Klasa play.db.jpa.Model nie jest dostępna z gry na 2.0. Roztwór okazały się tego problemu jest:

  • W YourProject/conf/application.conf, stwierdzenie konfiguracji JPA:

db.default.driver = org.h2.Driver
db.default.url =” JDBC: H2: mem: play”
db.default.jndiName = DefaultDS

i jednostka Trwałość:

jpa.default = defaultPersistenceUnit

  • utworzyć nowy pakiet o nazwie META-INF w YourProject/conf/

  • Wewnątrz tego pakietu utwórz plik o nazwie 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> 
  • Na YourProject/project/Build.scala zmodyfikować zależności dodać następujące:

val appDependencies = seq (
// Dodaj swój projekt Zależności tu
javaCore,
javaJdbc,
javaJpa,
"org.hibernate"% "hibernacja-uprawnieniamanager"% "4.2.1.Final"
)

Ponadto można wyłączyć Ebean jeśli nie zamierzasz go używać z:

val main = play.Project(appName, appVersion, appDependencies).settings(
    ebeanEnabled := false 
) 
  • Następnie uruchom odtwarzanie eclipse nad projektem i odświeżyć.

Mam nadzieję, że to pomoże.

+0

"jpa.default = defaultPersistenceUnit" w pliku application.conf to część, którą spędziłem kilka godzin próbując wymyślić. Nadal nie znalazłem go udokumentowanego nigdzie, ale w źródle do JPAPlugin. :( –

+0

@RodneyGitzel jego w 2.2 dokumenty w ramach WZP: http://www.playframework.com/documentation/2.2.x/JavaJPA, patrz ostatnia część "Tworzenie jednostki Wytrwałości" – chris

+2

@chris niestety zostało pominięte z 2.1 docs: http://www.playframework.com/documentation/2.1.x/JavaJPA –

Powiązane problemy