2010-04-06 14 views
7

Hibernate 3.5-Final jest już dostępny i oferuje oczekiwaną obsługę JPA2, między innymi. Pracuję nad projektem (opartym na EJB3) przy użyciu JBoss 5.1.0.GA i Hibernate 3.3, ale chciałem skorzystać z JPA2 i próbowałem uaktualnić do Hibernate 3.5.Hibernate 3.5-Final w JBoss 5.1.0.GA

To, co zrobiłem, było dość proste i standardowe - po prostu umieściłem wszystkie słoiki hibernacji 3.5 w folderze serwer/konfiguracja (domyślnie, wszystko itp.)/Lib - w ten sposób mają pierwszeństwo przed artefaktami hibernacji dostarczanymi z JBoss. Wydaje się jednak, że statki JBoss z bibliotek, które są zależne od strony realizacji JPA1 z Hibernate 3.3, bo zaczęła się jakieś błędy dotyczące ZAIMPLEMENTOWANE abstrakcyjnych metod i takie tam o wdrożeniu:

23:21:26,792 WARN [Ejb3Configuration] Persistence provider caller does not implement the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null. 
23:21:26,792 ERROR [AbstractKernelController] Error installing to Start: name=persistence.unit:unitName=kernel-ear-3.3.0-SNAPSHOT.ear/config-persistence.jar#ConfigurationPersistenceUnit state=Create 
java.lang.AbstractMethodError: org.jboss.jpa.deployment.PersistenceUnitInfoImpl.getValidationMode()Ljavax/persistence/ValidationMode; 
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:613) 
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:72) 
    at org.jboss.jpa.deployment.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:301) 
    at sun.reflect.GeneratedMethodAccessor308.invoke(Unknown Source) 

Może powinienem użyć zapewniona inna trwałość? Obecnie jest to:

org.hibernate.ejb.HibernatePersistence

Rozejrzałem się po sieci i nie znaleźliśmy żadnych udokumentowanych ścieżki aktualizacji. Pojawiło się nawet pytanie bez odpowiedzi w przepełnieniu stosu na ten temat.

Wszelkie pomysły, sugestie? Z góry dziękuje za twoją pomoc.

+0

Ulepszanie Hibernacji w JBossAS rzadko kiedy jest łatwe. Współzależności są zbyt ścisłe dla wszystkich, oprócz najbardziej banalnych konfiguracji JBoss. – skaffman

+0

cześć, byłeś w stanie rozwiązać ten problem? Jestem po zrobieniu czegoś takiego i stawieniu czoła wielu trudnościom. – adi

+0

Spróbuj użyć innej nazwy pliku persistence.xml, np. Foo-persistence.xml –

Odpowiedz

6

Wydaje się jednak, że statki JBoss z bibliotek, które są zależne od strony realizacji JPA1 z hibernacji 3,3

Tak, to robi (patrz this old mail, aby zorientować się) i nie sądzę że twoje obecne podejście jest możliwe. Rozumiem, że integracja JPA 2 została zaplanowana na JBoss 5.2, ale wydaje się, że zdecydowali oni pominąć tę gałąź, aby przejść bezpośrednio do JBoss 6.x.

+0

Tak, zdaję sobie sprawę z planu włączenia JPA2 do JBoss 5.2, a następnie decyzji, aby przejść bezpośrednio do JBoss 6. Miałam jednak nadzieję, że przynajmniej zapewnią one ścieżkę aktualizacji dla użytkowników JBoss 5.1, ponieważ jest mało prawdopodobne, że wiele z nich przyjmie 6.x bardzo wcześnie. Dziękuję za odpowiedź. –

+0

W rzeczywistości przechodziłem przez to samo ćwiczenie i byłem w stanie spakować wszystkie słoiki zależne od 3.5.x do mojego ucha, ale wystąpił błąd podczas analizy pliku persistence.xml. Nie można przesłonić zależności z folderu jboss.home/commons/lib – Joe

0

Dodałem też kilka wskazówek do powyższego linku, który pracował dla mnie.

Powiązane problemy