やりたいこと: @Autowire Session session
. hibernate 3 の場合、プロセスはこちらで説明されています。...hibernate3.SessionFactoryUtils.getSession を使用します。しかし、Spring 3.2 には ...hibernate4.SessionFactoryUtils にそのようなメソッドはありません
質問する
5367 次
1 に答える
4
Spring3.x で大きな変更が行われました。数日前に同じ問題に遭遇しました。公式ドキュメントを通じて、Spring が HibernateTemplate と HibernateDaoSupport を提供しなくなることがわかっているため、Hibernate 純粋な API を使用することをお勧めします。ここでの混乱は私の解決策です:
最初に、applicationContext.xml で sessionFactory Bean を定義します。
<!-- sessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="packagesToScan">
<list>
<value>com.bbs.*.entity</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
${hibernate.dialect}
</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
<prop key="hibernate.connection.autocommit">${hibernate.connection.autocommit}</prop>
<prop key="hibernate.connection.url">jdbc:mysql://localhost/bbs</prop>
<prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
<prop key="hibernate.connection.username">root</prop>
<prop key="hibernate.connection.password">123456</prop>
</props>
</property>
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
そして、あなたのDAOで
@Autowired
@Qualifier("sessionFactory")
private SessionFactory sessionFactory;
public Session getSession() {
return sessionFactory.getCurrentSession();
}
このようにして、休止状態のセッションを取得し、必要なことを行い、それを楽しんでください:)
于 2013-04-02T13:33:42.223 に答える