ColdFusion ORM Caching and LogSQL



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

我的代码在下面,以防有人捡到我错过的东西。Application.cfc

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

then my Books 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总是会被记录下来。如果有的话,您可以运行一些基准测试来快速确定是否实际使用了缓存。

最新更新