Hi Leute!
Ich wollte gerade einen simplen Test machen zusammen mit Hibernate (die neuen Versionen 3.4.0) und bekomm dabei immer eine NoSuchMethodException, was SLF4J betrifft.
Hier mal schnell meine Testklasse:
Und die dazugehörige persistence.xml:
So, das müsste ja eigentlich funktionieren (auf nem anderen Rechner gehts auch, aber der verwendet für Annotations und EntityManager noch 3.3 und einen älteren Core). Mit den neuen Versionen bekomme ich jedoch immer diese blöde NoSuchMethodException. Soweit ich schon rausfinden konnte, liegt es an einer Methode, die log4j vor der Version 1.2.12 nicht unterstützt, aber ich hab auch schon die log4j.jar durch die Version 1.2.15 ersetzt, was aber zur gleichen Meldung führt.
Kennt jemand das Problem und vielleicht sogar schon eine Lösung dafür?
Danke & viele Grüße,
Martin
Ich wollte gerade einen simplen Test machen zusammen mit Hibernate (die neuen Versionen 3.4.0) und bekomm dabei immer eine NoSuchMethodException, was SLF4J betrifft.
Hier mal schnell meine Testklasse:
Code:
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class JPAHibernateTest {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpatest");
EntityManager em = emf.createEntityManager();
System.out.println("EntityManager loaded...");
System.out.println("Ready to do some database operations...");
em.close();
emf.close();
org.slf4j.LoggerFactory.getILoggerFactory();
}
}
Und die dazugehörige persistence.xml:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<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_1_0.xsd"
version="1.0">
<persistence-unit name="jpatest" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnodbDialect"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="123"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpatest"/>
<property name="hibernate.max_fetch_depth" value="3"/>
</properties>
</persistence-unit>
</persistence>
So, das müsste ja eigentlich funktionieren (auf nem anderen Rechner gehts auch, aber der verwendet für Annotations und EntityManager noch 3.3 und einen älteren Core). Mit den neuen Versionen bekomme ich jedoch immer diese blöde NoSuchMethodException. Soweit ich schon rausfinden konnte, liegt es an einer Methode, die log4j vor der Version 1.2.12 nicht unterstützt, aber ich hab auch schon die log4j.jar durch die Version 1.2.15 ersetzt, was aber zur gleichen Meldung führt.
Kennt jemand das Problem und vielleicht sogar schon eine Lösung dafür?
Danke & viele Grüße,
Martin