我知道get()
方法使用二级缓存,但我找不到有关read()
方法是否使用缓存的任何文档。
有什么想法吗?
答案 0 :(得分:1)
read()
不使用二级缓存。
您可以通过创建启用了SQL日志记录的示例应用并在get()
块中read()
的域中同时调用cache true
和mapping
来测试此问题。 <{1}}将点击缓存而不生成任何SQL,但get()
将执行查询。
在the code for read()
中,您可以看到它使用条件来获取域的只读实例。 Hibernate仅对read()
,load()
和several other methods使用二级缓存,但不使用标准。