我使用下面的代码来获取interger值。
Query query = currentSession().getNamedQuery("getUser");
query.setString("password", password);
query.setString("userId", userId);
if (query.uniqueResult() != null && (Integer) query.uniqueResult() = 1 ) {
...
}
请解释如何
query.uniqueResult()
使用缓存和缓存
这个命中数据库是两次吗?
如果启用缓存会怎样?甚至它打了两次数据库?
答案 0 :(得分:1)
答案 1 :(得分:0)
是的,它会起作用。 是的,它会击中de DB两次。
你可能会跟随XtremeBaumer建议你做这样的测试:
Integer test = query.uniqueResult();
if ( test != null && test == 1 ) {
...
}