У меня есть класс Notification, который содержит объект messengerData:
public class Notification{
@OneToOne(mappedBy = "messengerDataId")
private MessengerData messengerData;
...
}
Класс MessengerData содержит карту ресурсов, это означает, что messengerdata содержит пары, поэтому я использую отношение один ко многим:
public class MessengerData{
@OneToOne(mappedBy = "messengerData")
private Notification notification;
@OneToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.REMOVE },
fetch = FetchType.EAGER)
@Cascade({ org.hibernate.annotations.CascadeType.SAVE_UPDATE, org.hibernate.annotations.CascadeType.DETACH })
@JoinTable(name = HemisTablesNames.MESSENGER_RESOURCES, joinColumns = @JoinColumn(name = "idResource"),
inverseJoinColumns = @JoinColumn(name = "messengerDataId"))
private Map<String, Resource> resources = new HashMap<String, Resource>();
...
Класс Resource содержит карту :
@OneToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.REMOVE },
fetch = FetchType.EAGER)
@Cascade({ org.hibernate.annotations.CascadeType.SAVE_UPDATE, org.hibernate.annotations.CascadeType.DETACH })
@JoinTable(name = HemisTablesNames.MESSENGER_NOTIF_TEXT_DATA, joinColumns = @JoinColumn(name = "idNTD"),
inverseJoinColumns = @JoinColumn(name = "idResource"))
private Map<String, NotificationTextData> textDatas;
Вот как я сохраняю объект:
EntityManager.persist(notification);
EntityManager.commitTransaction();
Моя проблемачто я получаю это исключение:
Не удалось сохранить уведомление: org.hibernate.PersistentObjectException: отдельная сущность передана для сохранения: com.ubiant.hemis.type.Notification
Может ли кто-нибудь помочь мне с этим?