в моем приложении у меня есть пользователи, у которых есть файлы. UserVO имеет следующее отображение:
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "users")
public Set<Files> getFiles()
{
return this.files;
}
Тогда у меня есть HibernateDAO со следующим обновлением метод:
public void update(T vo)
{
try
{
startTransaction();
getSession().clear();
getSession().update(vo);
closeTransaction();
}
catch (HibernateException e)
{
rollbackTransaction();
e.printStackTrace();
}
}
Когда некоторые значения файла пользователя изменились, я хочу обновить свой файл.
Поэтому я использую:
daoFiles.update(file); // this uses the HibernateDAO update!
UserDAO daoUser = UserDAO.getInstance();
daoUser.update(user); //... also a HibernateDAO update
Изменения файла сохраняются в базе данных, но если я хочу отобразить файлы пользователя, я не могу изменить файлы, потому что отображались старые значения. Только если я получу файл VO напрямую, я смогу увидеть новые значения. Таким образом, кажется, что userVO не распознает обновление файла.
Кто-нибудь знает, в чем проблема?
С наилучшими пожеланиями!
Benny