java有没有像Hibernate这样的框架,但是没有缓存,并且直接执行SQL?
我尝试使用Hibernate已经有一段时间了。我喜欢hibernate,因为它具有注释映射功能(例如@Entity、@Column)
但我不喜欢它缓存的想法(How to disable hibernate caching说它也不能被禁用)
另外,我完全不喜欢它的“提交vs刷新”思想,即在数据库中插入/删除/更新某些数据时不直接运行SQL到数据库
所以,作为我的标题,有没有像Hibernate这样的框架,带有注释但没有缓存,并且直接执行SQL?如果这样的框架可以在Spring中使用,那就太好了
或者,实际上,Hibernate可以只禁用缓存,或者只进行一些配置,以便对每次插入/删除/更新都执行DirectSQL
# 1 楼答案
默认情况下,这些功能处于启用状态,因为您通常需要它们(即使您最初没有意识到)
但是,如果确实要禁用缓存并立即刷新所有内容:
sessionFactory.openStatelessSession()
-此会话不会在第一级缓存中存储任何内容(默认情况下,第二级缓存处于关闭状态)。请注意,您不能在此会话中操作集合映射李>session.setFlushMode(..)
将其设置为在每次查询之前自动刷新(不鼓励这样做)李>请注意,刷新模式仅适用于有状态会话-无状态会话将立即刷新
# 2 楼答案
您可能正在寻找MyBatis,这更直接一些。对于基于注释的示例,see here尽管还有其他示例。您也可以只使用纯JDBC,如果您使用的是Spring,也可以通过Spring
我不明白“不喜欢缓存”这件事
# 3 楼答案
Hibernate是一个很棒的框架,但对于更轻量级的实现,我倾向于使用Spring JDBC:
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/jdbc.html