开发者

HibernateDaoSupport and native SQL

I'm writing a DAO using spring and hibernate

public class DaoImpl extends HibernateDaoSupport implements Dao {}

For reading or updating data I'm using HQL getHibernateTemplate().bulkUpdate(...) but one of the queries is too complex for that and I need to use native SQL Query query = getSession().createSQLQuery(...)

But doing that hangs my application

DEBUG org.hibernate.jdbc.ConnectionManager  - opening JDBC connection

I can prevent this by setting Da开发者_StackOverflow中文版taSource maxActive field unlimited, but that's not a solution. My question is that is there any solid way of using native SQL with HibernateDaoSupport? Very important is that native queries needs to be executed in same transaction as other (HQL) queries.

Thanks


You can configure HibernateTemplate not to create new session:

ht.setAllowCreate(false);
ht.setAlwaysUseNewSession(false);

Javadoc: http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/orm/hibernate3/HibernateTemplate.html#getSession%28%29


Slightly off-topic but possibly helpful nonetheless. Using HibernateDaoSupport to implement your DAO's is not recommended by the authors of Spring. Check this blog posting.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜