• 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();


  • 相关阅读:
    美国贷款买饭的房屋保险
    ArrayList和数组间的相互转换
    JList动态添加元素
    美国交往礼仪
    刘元普双生贵子(但行好事,莫问前程)
    CountDownLatch与CyclicBarrier
    彻底理解Java的feature模式
    Java中的Future模式原理自定义实现
    浅谈Java Future接口
    Future接口和Callable接口以及FeatureTask详解
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10871599.html
  • Copyright © 2020-2023  润新知