Estoy tratando de ser un simple Hibernate fragmento de ejemplo (Sí, raro, 3.0.0.Beta2 publicado hace 4 años) usando Hibernate Core 4.1.7 y la Primavera 3.1.2 y golpear a este tema durante la sesión de la fábrica de inicialización:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySessionFactory' defined in class path resource [shardedspring-config.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.hibernate.SessionFactory it.sella.lab.crm.sys.persistence.ShardedSessionFactoryBuilder.createSessionFactory()] threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/engine/SessionFactoryImplementor
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:581)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1015)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:911)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:609)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at in.rixx.crm.model.Activity.<clinit>(Activity.java:17)

Esto es ¿cómo puedo elegir Spring e Hibernate:

<dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.1.7.Final</version>
 </dependency>
 <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.1.2.RELEASE</version>
 </dependency> 

Esto no parece un problema con fragmentos de la biblioteca – se ve como un problema general, causada por refactorizado SessionFactoryImplementor clase. Refiriéndose a https://jira.springsource.org/browse/SPR-8885, también he cambiado a la org.springframework.orm.hibernate4.HibernateTransactionManager para bean ‘transactionmanager’ – que no está ayudando.

Hay ninguna funcional de la solución por el momento para la Primavera 3.x e Hibernate 4.x?

4 Comentarios

  1. 2

    Veo que usted está usando HIbernate 4 con la primavera. Así que parece que la primavera & hibernate inter-compatibiity problema. Así que por favor visite siguiente sitio web de Hibernate 4 compatibilidad con la primavera.

    http://blog.springsource.org/2012/04/06/migrating-to-spring-3-1-and-hibernate-4-1/

    Cosa como otra opción de probar por debajo de la versión.

    <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>3.3.1.GA</version>
        </dependency>
  2. 4

    Yo también enfrentan el mismo problema, he buscado en algunos otros sitios y sus ayudado
    me a resolver este problema.Lo que he hecho mal es hibernate versión que he utilizado
    4 en maven para el administrador de transacciones, pero en maven estoy configurando
    la hibernación administrador de transacciones de la versión 3, que
    la incompatibilidad. He cambiado la primavera archivo de configuración como esta.

    <bean id="hibernateTransactionManager"
            class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
        <!-- <bean id="hibernateTransactionManager"
            class="org.springframework.orm.hibernate3.HibernateTransactionManager">
            <property name="sessionFactory" ref="sessionFactory" />
        </bean> -->
  3. 0

    Hibernate core no requiere ningún tipo de dependencia de las anotaciones de algunos asegúrese de que su pom no tiene ninguna dependencia de hibernate-anotación o hibernate-común de anotación.

    Mi trabajo pom es como sigue.

    <properties>
    <spring.version>4.0.5.RELEASE</spring.version>
    <junit.version>4.11</junit.version>
    <jdk.version>1.6</jdk.version>
    </properties>
    <dependencies>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
    </dependency>
    <!-- Spring dependencies -->
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${spring.version}</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>${spring.version}</version>
    </dependency>
    <!-- Servlet -->
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>3.0-alpha-1</version>
    </dependency>
    <!-- JSTL -->
    <dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
    </dependency>
    <!-- Apache Commons Upload -->
    <dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.2.2</version>
    </dependency>
    <!-- Apache Commons Upload -->
    <dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>1.3.2</version>
    </dependency>
    <!-- MYSQL dependency -->
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.6</version>
    </dependency>
    <!-- Hibernate -->
    <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>4.3.5.Final</version>
    </dependency>
    <!-- If using JPA (2), add: -->
    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.5.6</version>
    </dependency>
    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.5.6</version>
    </dependency>
    <dependency>
    <groupId>c3p0</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.1.2</version>
    </dependency>
    <dependency>
    <groupId>org.javassist</groupId>
    <artifactId>javassist</artifactId>
    <version>3.18.1-GA</version>
    </dependency>
    </dependencies>
  4. 0

    Por quitar hibernate-común-anotaciones tengo error diferente
    java.lang.ClassNotFoundException: org.hibernate.motor.SessionFactoryImplementor

    Esta es la versión de la diferencia entre el período de sesiones de la fábrica y el administrador de transacciones

    aquí está el enlace para la solución de
    [http://devjav.com/spring-java-lang-classnotfoundexception-org-hibernate-engine-sessionfactoryimplementor/%5D%5B1%5D

    Solución desde el enlace de arriba:
    Utilizando la versión correcta de Hibernación para el gestor de transacciones y de sesión Local de la fábrica de frijol

    org.springframework.orm.hibernate3.HibernateTransactionManager
    org.springframework.orm.hibernate3.LocalSessionFactoryBean
     <beans:bean id="sessionFactory" name="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <beans:property name="configLocation">
    <beans:value>classpath:hibernate.cfg.xml</beans:value>
    </beans:property>
    <beans:property name="hibernateProperties">
    <beans:props>
    <beans:prop key="hibernate.show_sql">true</beans:prop>
    </beans:props>
    </beans:property>
    </beans:bean>
    <beans:bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <beans:property name="sessionFactory" ref="sessionFactory" />
    </beans:bean>
    • Por favor, incluya la solución con su respuesta, ya que el enlace podría no estar siempre disponible.

Dejar respuesta

Please enter your comment!
Please enter your name here