Hibernate查询缓存键

时间:2012-02-24 11:57:54

标签: hibernate caching grails gorm

如果我指出要缓存查询的结果,例如

// This example shows the execution of a Hibernate query in a Grails app,
// but the question isn't really about Grails
Author author = new Author(name: 'Charles Dickens')
def results = Book.findByAuthor(author, [cache: true])

作者是否有必要实施equals()hashCode()以使缓存生效?

如果我没有实现这些方法,看来如果我执行上面的代码两次,第二个作者对象将具有与第一个不同的哈希代码,因此第二次不会返回缓存的结果查询已执行。

更新

对于那些不熟悉GORM的人,上面的查询等同于HQL

executeQuery("from Book b where b.author = ?", author)

0 个答案:

没有答案