Как обновить коллекцию в Hibernate?JAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Как обновить коллекцию в Hibernate?

Сообщение Гость »


У меня есть объект под названием «Документ», который имеет отношение «один ко многим» с «DocumentPersonCc». Я пытаюсь изменить одну или несколько из этих коллекций в своем коде, но Hibernate не вызывает запрос на обновление, когда я этого ожидаю. Он вызывает запрос на обновление, когда я меняю одно из обычных полей (например, тему документа), но даже тогда он не сохраняет никаких изменений типа «один ко многим» в базе данных. Что мне нужно изменить, чтобы это заработало?

Получатель и установщик для DocumentPersonCc:

@OneToMany(fetch = FetchType.LAZY, mappedBy = "документ") @LazyCollection(LazyCollectionOption.EXTRA) @Sort(тип = SortType.NATURAL, компаратор = DocumentPersonCc.class) public SortedSet getDocumentPersonCcs() { вернуть this.documentPersonCcs; } public void setDocumentPersonCcs( SortedSet documentPersonCcs) { this.documentPersonCcs = documentPersonCcs; } Обновить код:

публичный документ updateCcs(Документ) { Сеанс сеанса = HibernateUtil.getSessionFactory().getCurrentSession(); сеанс.beginTransaction(); Документ oldD = (Документ) session.load(Document.class, document.getId()); Hibernate.initialize(oldD.getDocumentPersonCcs()); oldD.setDocumentPersonCcs(document.getDocumentPersonCcs()); сеанс.обновление(oldD); session.getTransaction().commit(); документ = this.returnDocument(document.getId()); Hibernate.initialize(document.getDocumentPersonCcs()); возвратный документ; } Получатель и установщик документа DocumentPersonCc:
@ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "DocumentsId", nullable = false, вставляемый = false, обновляемый = false) защищенный документ getDocument() { вернуть этот.документ; } public void setDocument(Документ) { этот.документ = документ; }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»