hibernate - ColdFusion ORM 缓存和 LogSQL

标签 hibernate caching orm coldfusion application.cfc

过去几天我一直在玩 ORM 缓存,让我很困惑的一件事是即使启用了缓存,SQL 仍然记录(当我有 logSQL = true 时)到控制台。这让我觉得缓存不起作用,我认为 hibernate 不会创建 sql,因为它在缓存中看到了对象,但也许 hibernate 甚至在检查 ehcache 之前就生成了 sql。

我的代码在下面,以防有人发现我遗漏的东西。 应用程序.cfc

this.ormSettings.secondarycacheenabled = "true";
this.ormSettings.cacheprovider="ehcache";
this.ormSettings.logSQL=true;

然后我的书cfc

component persistent="true" entityname="Books" table="db_books"  cacheuse="transactional"  lazy="true"

最后是我用来调用的代码。

    a = entityloadbypk("Books","1");
writeoutput(a.getName());

最佳答案

根据我的阅读和第一手经验,无论 ColdFusion ORM (Hibernate) 是 JIT 生成它还是从缓存中提取它,通过线路传输到您的 DBMS 的 SQL 都将始终被记录下来。如果有的话,您可以运行一些基准测试来快速确定是否实际使用了缓存。

关于hibernate - ColdFusion ORM 缓存和 LogSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5844495/

相关文章:

java - "HTTP Status 500 - Servlet.init() for servlet spring threw exception"

c# - NHibernate 集合映射哪一个更好?

caching - 脏缓存行和页面驱逐

java - 如何在双向多对多映射中添加数据?(这不是添加数据的正常过程)

NHibernate 通过 Nuget

java - 从 EntityManager 返回部分实体

mysql - 错误 hibernate : could not deserialize

java - hibernate - org.hibernate.exception.GenericJDBCException : Cannot open connection

c# - 为什么我的缓存数据消失了?

javascript - 缓存javascript文件的基础是什么?