/ / NoSuchMethodError: org.hibernate.SessionFactory.openSession () - java, hibernácia

NoSuchMethodError: org.hibernate.SessionFactory.openSession () - java, hibernácia

Mám hibernate3.jar a hibernate-core-4.2.0.CR1.jar v mojej triede a ja používam verziu Spring 3.1.3. Kód sa úspešne kompiluje, ale zatiaľ čo pri runtime, dostanem nasledujúcu chybu

2014-10-28 10:51:25,174 DEBUG [RMI TCP spojenie (2) -10.126.30.203] - Cieľová metóda zlyhala pri metóde RemoteInvocation: názov metódy "GetPriceByKeys"; typy parametrov [java.util.List, java.util.Date] java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession () Lorg / hibernácie / relácie;

I google, ale nenašli žiadne riešenie. Majte na pamäti: Môj projekt potrebuje hibernate3.jar, ale zároveň môj projekt záleží na nejakej inej tretej stranke, ktorá sa spúšťa pomocou hibernet4.2.0 jar.

Akékoľvek pomoci pls?

odpovede:

0 pre odpoveď č. 1

Musíte odstrániť viac súborov JAR z režimu hibernácie classpath, Bez toho by vaša žiadosť nemala fungovať, ako očakávate. čo znamená, že musíte migrovať verziu aplikácie spánku z 3 na 4,1.

Napriek tomu, že Spring 3.1 využíva súbory Hibernate 3 JAR, stále môžete prechádzať do režimu dlhodobého spánku 4. Pozrite sa na jarný blog, ktorý vám poskytne malý návod.

Migrácia na jar 3.1 a hibernáciu 4.1

V rámci kurzu Core-Spring máme laboratóriumaplikácie, ktorú my použite na zobrazenie toho, ako integrovať Spring a JPA / Hibernate dohromady. my práve sme ju upgradovali na Spring 3.1 / Hibernate 4.1 a mysleli sme si by mali zdieľať niekoľko tipov.


0 pre odpoveď č. 2

Len aktualizácia. Príčinou problému je, že mám dva jarné kontexty xml súbory v projekte (jeden z môjho projektu a jeden súvisiaci s iným modulom, ktorý integrujem). Načítavam xml kontextu z dvoch rôznych tried. Takže jeden z DAO trieda načítaná jedným z jarných kontextov xml nedostane režim spánku.

Neskôr s použitím značky importu som zahrnul kontextový súbor aplikácie s druhým jarom do prvého kontextu aplikácie a potom natiahol kontextový súbor s jednou aplikáciou z triedy. Vyriešila chybu.

Vďaka,