현재 Spring 2.0.6 ->3.1.1/ Hibernate
3.2.3.ga ->4.1.0 버젼 업댓 프로젝트를 진행하고 있는 개발자 입니다. ㅠ
java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
at org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:324)
at org.springframework.orm.hibernate3.SessionFactoryUtils.getSession(SessionFactoryUtils.java:235)
at org.springframework.orm.hibernate3.HibernateTemplate.getSession(HibernateTemplate.java:457)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:393)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:912)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:904)
at com.cim.idm.dsp.engine.EngineBooter.main(EngineBooter.java:21)
이런 exception이 나네여 ㅠㅜ
전 버전 하고 session가져오는 부분이 틀려졌단 이야기도 있긴한거같은데,,
저희는 되도록 소스를 바꾸지 않는 선에서 업댓중이거든요,,
간단히 라이브러리만 업댓할 수 있는 방법이 없을까여 ???
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<value>kr/co/sfa/framework/db/orm/Rtdmessagedef.hbm.xml</value>
<value>kr/co/sfa/framework/db/orm/Rtdmessageitemdef.hbm.xml</value>
<value>kr/co/sfa/framework/db/orm/Rtdparameters.hbm.xml</value>
<value>kr/co/sfa/framework/db/orm/Rtdpolicykey.hbm.xml</value>
<value>kr/co/sfa/framework/db/orm/Rtdpolicymodel.hbm.xml</value>
<value>kr/co/sfa/framework/db/orm/Rtdpolicymodelassign.hbm.xml</value>
</list>
</property>
<!--hibernate.hbm2ddl.auto = validate, update, create, create-drop -->
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
cache.provider_class=org.hibernate.cache.internal.NoCacheProvider
javax.persistence.validation.mode=AUTO
hibernate.default_schema=${hibernate.default_schema}
hibernate.hbm2ddl.auto=${hibernate.hbm2ddl.auto}
</value>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" init-method="createDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- <property name="validationQuery"><value>select 1 from dual</value></property> -->
<!-- <property name="driverClassName"><value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value></property>
<property name="url"><value>jdbc:sqlserver://${db.mes.url}</value></property>
<property name="validationQuery"><value>select 1</value></property>
-->
<property name="maxActive"><value>${maxActive}</value></property>
<property name="maxIdle"><value>-1</value></property>
<property name="minIdle"><value>1</value></property>
<!-- milli sec -->
<property name="maxWait"><value>${maxWait}</value></property>
<property name="initialSize"><value>${initialSize}</value></property>
<property name="testOnBorrow"><value>false</value></property>
<property name="minEvictableIdleTimeMillis"><value>1000</value></property>
<property name="timeBetweenEvictionRunsMillis"><value>10000</value></property>
<!--<property name="connectionProperties" value="v$session.program=SFA" />-->
</bean>
beanproperty는 이렇게 가져다 쓴답니다..혹시 아시면 알려주세용 ㅠㅜ