• Spring整合Hibernate报错:annotatedClasses is not writable or has an invalid setter method


    Spring 整合Hibernate时报错:

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [spring/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'annotatedClasses' of bean class [org.springframework.orm.hibernate3.LocalSessionFactoryBean]: Bean property 'annotatedClasses' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?

     

    ......

    原因在于选择Hibernate的sessionFactory时有两种:

    1. LocalSessionFactoryBean,使用*.hbm.xml进行配置。而且bean的class是hibernate3.LocalSessionFactoryBean:

    	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    		<property name="dataSource" ref="dataSource"></property>	
    		<property name="mappingResources">
    			<list>
    				<value>User.hbm.xml</value>
    			</list>
    		</property>
    		<property name="hibernateProperties">
    			<props>
    				<prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop>
    			</props>
    		</property>
    	</bean>


    2. AnnotationSessionFactoryBean。bean的class是AnnotationSessionFactoryBean

    <bean id="sessionFactory"
    		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    		<property name="dataSource" ref="dataSource" />
    		<property name="annotatedClasses</span>">
    			<list>
    				<value>com.xxx.model.User</span></value>
    			</list>
    		</property>
    		<property name="hibernateProperties">
    			<!-- <value>
    				hibernate.dialect=org.hibernate.dialect.HSQLDialect
    			</value> -->
    			 <props>
    		        <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    		        <prop key="hibernate.show_sql">true</prop>
    		    </props>
    		</property>
    	</bean>
    在获取session的时候,使用Session s = sessionFactory.openSession();


  • 相关阅读:
    前端开发 Knockout
    一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器
    七个开源的 Spring Boot 前后端分离项目
    Java老司机:把这些主流技术搞懂,拿20K没问题
    svn无法cleanup解决方案
    软件测试-1挡板测试
    电子琴
    myeclipse10激活注册码生成器代码
    LNK2005
    无法打开包含文件:"fstream.h"
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10871599.html
  • Copyright © 2020-2023  润新知