Я получаю сообщение об ошибке при попытке обновить список объектов, содержащих постоянный объект и отдельный объект, как (вновь созданный объект), в моем db, используя jpa2.0. Мой объект содержит внутренние органы, которые дают ошибку (упомянутый в названии) при объединении данных:Объединение нескольких представлений одного и того же объекта, Отдельно
Class superclass{
private A a;
private string name;
//getter setters here...
}
Class A{
private long id;
@onetoone(cascade=CascadeType.All, fetch=FetchType.Eager)
private B b;
@onetoone(cascade=CascadeType.All, fetch=FetchType.Eager)
private C c;
//getter setters here...
}
Class Dao{
daoInsert(superclass x){
em.merge(x);
}
}
Я хочу, чтобы любое лицо, отправленное на сохраняющиеся быть объединены в БД.
Hibernate не предусматривает решение, добавив следующее в persistence.xml
Есть ли что-то я могу сделать в JPA же, как спящий режим.
Пожалуйста, не предлагайте найти объект, использующий em.find(), а затем обновить вручную, так как мне нужны обеими объектами постоянный объект и вновь созданный объект. Также я использую весеннюю форму, чтобы сохранить весь патентный объект в db.
Прошу прощения, если я недостаточно ясен, это мой первый вопрос, и я действительно новичок.
Любая помощь будет оценена по достоинству.
Нам нужна дополнительная информация, так как вы не указали, что именно вызывает проблему. Нам не следует угадывать, если и что вы вызываете daoInsert, и если объект, вызывающий проблему, является экземпляром A, B или C. В чем именно заключается ситуация, в которой вы получаете исключение, и почему у вас есть несколько отдельных экземпляров одного и того же объекта в вашей модели или списке? – Chris
@Chris объект, вызывающий проблему, является b и c, я получаю ошибку только тогда, когда значение атрибута внутри C повторяется в следующей записи для A ... Эта ссылка, которую я упомянул для спящего режима, является именно той проблемой, которую я имею в jpa ... HTTPS://hibernate.atlassian.net/browse/HHH-9106 – Akash
Также я вызываю DaoInsert для слияния списка сущностей, то есть, если сущность с совпадающим идентификатором существует, то она должна быть обновлена, и если никакой идентификатор соответствия , то новая запись должна быть создана в db. Будет ли это много информации? – Akash