2015-07-19 4 views
1

При запуске приложения возникла ошибка. Я не понимаю, почему эта ошибка возникает и как ее можно исправить. Я получил эту excеption (я не показать все отслеживающий):Отображение исключения Spring + Hibernate

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'rssStreamServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.rssviewer.dao.RssStreamDAO com.rssviewer.service.RssStreamServiceImpl.rssStreamDAO; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'rssStreamDAOImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory com.rssviewer.dao.RssStreamDAOImpl.sessionFactory; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/hibernate-context.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="com.rssviewer.domain.RssStream"/> 

Мой спящий режим конфигурации: hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:tx="http://www.springframework.org/schema/tx" 
     xsi:schemaLocation=" 
     http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/tx 
     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd 
     "> 

    <!-- Enable annotation style of managing transactions --> 
    <tx:annotation-driven transaction-manager="transactionManager" /> 

    <!-- Declare a datasource that has pooling capabilities--> 
    <bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="driverClassName" value="org.sqlite.JDBC" /> 
     <property name="url" value="jdbc:sqlite:/home/ivan/projects/Java/RssViewer/test.db" /> 
     <property name="username" value="" /> 
     <property name="password" value="" /> 
    </bean> 
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource"/> 
     <property name="configLocation" value="/WEB-INF/hibernate.cfg.xml" /> 
     <property name="configurationClass" value="org.hibernate.cfg.Configuration" /> 
    </bean> 

    <!-- Declare a transaction manager--> 
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 
      <!--p:sessionFactory-ref="sessionFactory" />--> 

</beans> 

Файл:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC 
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.dialect">com.applerao.hibernatesqlite.dialect.SQLiteDialect</property> 
     <!-- Enable this to see the SQL statements in the logs--> 
     <property name="show_sql">false</property> 
     <!-- This will drop our existing database and re-create a new one. 
       Existing data will be deleted! --> 
     <property name="hbm2ddl.auto">create</property> 
     <mapping class="com.rssviewer.domain.RssStream"/> 
    </session-factory> 
</hibernate-configuration> 

Мои зависимости:

<properties> 
     <spring.version>4.1.1.RELEASE</spring.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.5</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.servlet.jsp</groupId> 
      <artifactId>jsp-api</artifactId> 
      <version>2.1</version> 
      <scope>provided</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-tx</artifactId> 
      <version>${spring.version}</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>3.6.10.Final</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-orm</artifactId> 
      <version>${spring.version}</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-test</artifactId> 
      <version>${spring.version}</version> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.11</version> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>javax.persistence</groupId> 
      <artifactId>persistence-api</artifactId> 
      <version>1.0.2</version> 
      <scope>provided</scope> 
     </dependency> 

     <dependency> 
      <groupId>com.applerao</groupId> 
      <artifactId>hibernatesqlite</artifactId> 
      <version>1.0</version> 
     </dependency> 

     <dependency> 
      <groupId>org.xerial</groupId> 
      <artifactId>sqlite-jdbc</artifactId> 
      <version>3.7.2</version> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-annotations</artifactId> 
      <version>3.5.6-Final</version> 
     </dependency> 

    </dependencies> 

Как исправить эту ошибку? Если вам нужно что-то еще, напишите.

+1

Попробуйте обновить до Hibernate 4.0 – Reimeus

+0

Приятно, я перехожу в спящий режим 4 и исправляю проблему. Теперь у меня есть следующее исключение .... – Wolkodav

+0

Какое исключение сейчас? –

ответ

0

Попробуйте: открытый hibernate.cfg.xml файл и установить

hibernate.dialect

конфигурации свойство быть

org.hibernate.dialect.SQLiteDialect

вместо

com.applerao.hibernatesqlite.dialect.SQLiteDialect

Обновлено:

<hibernate-configuration> 
<session-factory> 
    <property name="hibernate.dialect">org.hibernate.dialect.SQLiteDialect</property> 
</session-factory> 
</hibernate-configuration> 

надеюсь, что это будет работать.

+0

Должен ли я найти 'com.applerao.hibernatesqlite.dialect.SQLiteDialect'? – Wolkodav

+0

u может видеть свойство 'hibernate.dialect' в файле' hibernate.cfg.xml'. в теге ''. – msk

+0

'org.hibernate.dialect.MySQLDialect' будет работать с Sqlite? – Wolkodav

Смежные вопросы