我有工作休眠/春季網絡應用程序(HibernateDaoSupport
,getHibernateTemplate()
等)。對於需要使用JDBC的幾個任務(jdbcTemplate?)。如何在那個場景中做到這一點?如何在工作Hibernate/Spring Web-app上使用JDBC?
2
A
回答
4
只需創建JdbcTemplate
並使用HibernateDaoSupport
,HibernateTemplate
正在使用的相同DataSource
。 Hibernate只是一個在JDBC DataSource
/連接上工作的高級庫。你可以手動使用它。試試:
@Autowired
private DataSource ds;
如果你幸運的話,這應該工作。更好的方法是創建JdbcTemplate
作爲一個Spring bean並注入適當的數據源:
<bean id="jdbcTemplate" class="org.springframework.jdbc.coreJdbcTemplate">
<constructor-arg ref="dataSource"/>
</bean>
考慮使用JdbcOperations
接口,還看SimpleJdbcOperations。
@Autowired
private JdbcOperations jdbc;
如果你開始訪問都是由Hibernate和使用直接JDBC訪問代碼相同的數據庫/連接池,你必須注意一些副作用:
- Hibernate的二級緩存是不知道JDBC的修改
- JDBC代碼是不知道Hibernate的樂觀鎖定
- 事務管理
- ...
另一種方法是訪問HibernateDaoSupport
使用Hibernate會話(JDBC連接:
getSession().connection()
3
您可以使用Session.doWork
使用Hibernate使用JDBC連接來執行代碼。
這當然要求您使用並有權訪問Hibernate的Session對象。
相關問題
- 1. jdbc如何工作
- 2. 如何使用cache.manifest使ChillBox(LightBox克隆)在脫機webapp上工作?
- 3. ActionLink無法在mvc webapp上工作?
- 4. JDBC實現如何工作
- 5. 如何讓JDBC工作?
- 6. 使用cvs作爲webapp上的一組工作
- 7. 如何在Google AppEngine上使用JDBC
- 8. 在azure webapp上使用laravel
- 9. SQL負,下/上不工作在JDBC中
- 10. JDBC如何使用抽象工廠?
- 11. 如何使JDBC驅動程序在Java 5和6中工作?
- 12. JDBC URL屬性如何工作
- 13. 簡要說明:JDBC如何工作?
- 14. 如何使用JDBC
- 15. 如何使用JDBC
- 16. 如何使用JDBC
- 17. 如何使用JDBC
- 18. 如何使用不使用PGInterval的jdbc/spring-jdbc在PostgreSQL時間間隔數據類型上進行操作?
- 19. JDBC不工作生產服務器上
- 20. Webapp能夠脫機工作!
- 21. 如何在webapp中使用org.eclipse.jetty.server.Request?
- 22. 何時更快地在JDBC上使用批處理操作?
- 23. 如何在tomcat中獲取webapp的工作目錄?
- 24. 如何在同一個java webapp上使用不同的子域
- 25. 如何使用play2 + scala在cloudbees上運行我的webapp?
- 26. 如何在R 2.15.2上使用Rtools在Windows上工作?
- 27. Bootstrap glyphicons不能在java webapp工作
- 28. 使用mod_wsgi在apache上運行django webapp
- 29. 在iOS上使用CDN離線WebApp
- 30. 如何使用pygsheets上傳工作表
謝謝,效果很棒:) – marioosh 2011-06-13 07:16:27
太棒了,但class =「org.springframework.jdbc.coreJdbcTemplate」應該是class =「org.springframework.jdbc.core.JdbcTemplate」 – korosmatick 2015-11-24 14:35:38