Привет, у меня проблема.Мой (я предполагаю) уровень персистентности кэширует мои результаты, поэтому, когда я обновляю базу данных вне моего приложения, данные остаются устаревшими.
однако, это только кеширование половину времени, я надеюсь, что это имеет смысл,
У меня есть класс
@Entity
@Table(name = "PROVINCE")
public class Province implements Serializable {
@Id
@GeneratedValue
int id;
String provinceName;
String provinceMoto;
Buildings buildings;
Units units;
Person person;
.... etc
сейчас, если я обновлю любые данные, которые неЕсли это не ссылка на объект класса, например «имя провинции», то данные в моем приложении корректны и сразу же обновляются.тем не менее, внутренние объекты, такие как «здания», этого не делают, и я не могу понять, как, если я делаю жесткое обновление, например, повторное развертывание своего приложения, тогда данные свежие.
Я получаю свою провинцию из базы данных.здесь:
Query query = manager.createQuery("select p from Province p where p.person = :query");
query.setHint("toplink.refresh", "true");
query.setParameter("query", p);
province = (Province) query.getSingleResult();
так, как мне заставить это делать также внутренние объекты этого класса, то есть "человека" зданий ", также обновлять.
Мой уровень персистентности является основой toplink, и я исправил свою предыдущую проблему, которая не заключалась в обновлении данных.и этот первый пост здесь (это еще одна страница переполнения стека)
спасибо за любую помощь.я надеюсь, что я достаточно хорошо объяснил свою проблему
[РЕДАКТИРОВАТЬ: как если бы я не использовал эту платформу, было бы проще объединить таблицы в БД и заново заполнить данные в новой переменной, но я не]