1
@Override
@Cacheable(value = "user-cache", key = "#login", unless = "#result == null")
public User findUserByLogin(final String login)
{
return em.find(User.class, login);
}
如果我將密碼設置爲null,例如下圖所示。我看到的緩存值也會相應地進行修改,因爲在下次調用時,緩存會被命中並且其中的密碼將設置爲NULL。這是正確的行爲嗎?如果我想修改該對象,是否需要在每次檢索後創建一個新對象。我正在討論修改數據庫中未更改的內容,而是在服務級別上進行修改。修改對象更改Ehcache值
public User getUserByLogin(final String login)
{
final User user = userRepository.findUserByLogin(login);
user.setPassword(null);
return user;
}
我明白了。我如何更改爲堆外...感謝您的信息。 – 2014-10-08 14:34:32