у меня есть и проверяемое лицо с внешним ключом к классу (который я не хочу проверять):Hibernate Envers аудит @Embedded с основными типами внутри броски не может установить поле обнулить значение на выборке
@Entity
@Audited
public class CitaAgenda {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "reconocimiento_id")
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
private Reconocimiento reconocimiento;
...
}
Кроме того, Reconocimiento
является юридическим лицом со встроенным свойством:
@Entity
public class Reconocimiento {
@Embedded
private Enfermeria enfermeria;
...
}
И встраиваемого класса выглядит следующим образом:
@Embeddable
public class Enfermeria {
private boolean diabetes;
...
}
Теперь, когда я привожу данные из пересмотров и принести CitaAgenda, я получаю
«Не удается установить логическое поле ... Enfermeria.diabetes обнулить значение».
То, что я думаю, что это происходит, что Hibernate пытается инициализировать enfermeria свойство Reconocimiento с NULL, потому что он считает, что все поля являются NULL в качестве единственного поля Reconocimiento хранится в _AUD
таблице идентификатор (так как остальные не проверяются). Но это не так, как если бы я проверял другие поля, диабет был бы false, а не NULL.
Я не могу установить диабет Boolean. Есть ли другие решения? Заранее спасибо.
Вы можете добавить аннотации к Enfemeria? –
@Javi_Swift у вас есть двунаправленное отображение здесь? Если так '@ NotAudited' на Reconocimiento - то, что вы хотите, я считаю – Eugene
@Eugene, это не мое дело, но спасибо за попытку –