2016-04-16 9 views
0

私はdao層へのセッションファクトリを自動生成しようとしています。エラーがあります:java.lang.NoClassDefFoundError: より多くの設定がロックされていますが、 これは私のDAOです:daoにautowired SessionFactoryを使用できません

@Component 
     public class UserDaoImpl implements UserDao{ 
    @Autowired 
    private SessionFactory sessionFactory; 


    @Override 
     public void saveUser(User user) { 
    sessionFactory.getCurrentSession().save(user); 
    } 

私は、configファイル休止している:私は豆とxmlファイルを作成

<hibernate-configuration> 
    <session-factory> 
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306 /vezba2?zeroDateTimeBehavior=convertToNull</property> 
<property name="hibernate.connection.username">root</property> 
<mapping class="com.entiti.User"/> 
<mapping class="com.entiti.Rezervacija"/> 
    </session-factory> 
</hibernate-configuration> 

を:

   <context:annotation-config/> 

    <bean id="user" class="com.dao.UserDaoImpl"> 
    <property name="sessionFactory" ref="sessionFactory"></property> 
     </bean> 
    <bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
     <property name="configLocation"> 
     <value>classpath*:hibernate.cfg.xml</value> 
     </property> 
    </bean> 

私のせいである場合、誰かが知っていれば助けてください。

+2

http://stackoverflow.com/questions/34413/why-am-i-getting-a-noclassdeffounderror-in-java – Hannes

答えて

0

あなたはSpringを使用しているので、hibernate.cfg.xmlファイルを使用することを忘れて、xmlファイルに必要な設定を代入する方がよい場合があります。これが役立つ場合は、以下のxmlを参照してください。 この例では、接続プーリングのデータソースとしてc3p0を使用しています。 TransactionTemplateも使用できますが、コメント化されています。あなたがそれを必要とする場合はコメントを外してください。

<context:annotation-config/> 
<bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" > 
    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/vezba2"/>   
    <property name="user" value="root"/> 
    <property name="password" value="root"/>   
    <property name="driverClass" value="com.mysql.jdbc.Driver" /> 
</bean> 
<bean id="mySessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" depends-on="myDataSource"> 
    <property name="dataSource" ref="myDataSource" /> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
      <prop key="hibernate.hbm2ddl.auto">update</prop>    
      <prop key="hibernate.show_sql">true</prop> 
      <prop key="hibernate.cache.use_second_level_cache">false</prop> 
      <prop key="hibernate.format_sql">true</prop> 
      <prop key="hibernate.use_sql_comments">true</prop> 
      <prop key="hibernate.connection.charSet">UTF-8</prop> 
     </props> 
    </property> 
    <property name="annotatedClasses"> 
     <list> 
      <value>com.entiti.User</value> 
      <value>com.entiti.Rezervacija</value>      
     </list> 
    </property> 
</bean> 
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
    <property name="sessionFactory"> 
     <ref bean="mySessionFactory"/> 
    </property> 
</bean> 
<!--<bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate" p:transactionManager-ref="transactionManager"/>--> 

関連する問題