Мне нужна помощь с аннотациями спящего режима.Hibernate Аннотации Карта Java
У меня есть следующие 2 сущности:
public class Custom {
private Map<KeyObject, ValueObject> properties;
@oneToMany(mappedBy = "customId", cascade = CascadeType.All)
@MapKey(name = "keyObject")
public Map<KeyObject, ValueObject> getProperties();
.....
}
public class ValueObject {
private KeyObject keyObject;
private Long customId;
private String value;
...getters and setters
}
У меня есть простой класс дао для сохранения, обновления, выберите и удалять записи.
Если я удаляю запись с карты в пользовательском объекте, а затем вызываю customDao.save (custom), мои изменения никогда не сохраняются в базе данных. Он не бросает никаких ошибок.
Я видел в примерах спящего режима я могу определить customId как пользовательский объект вместо Long в таблице KeyValue, но я не хотел этого делать.
Я устанавливаю свою сущность неправильно?
Спасибо за быстрый ответ. Первоначально я использовал ValueObject Dao для сохранения данных на карте. Однако я столкнулся с проблемой. После того, как я удалю запись и попытаюсь добавить запись, я получаю исключение HibernateOptimisticLockingFailureException, в котором моя партия была устаревшей. Я думаю, что это было причиной, потому что я использовал ajax для обновления записей карты, а пользовательский объект в модели никогда не обновлялся. – blong824