ich habe und geprüften Stelle mit einem Fremdschlüssel zu einer Klasse (was ich will nicht prüfen):Hibernate Envers Audit innen mit Grundtypen @Embedded wirft Feld nicht festlegen Wert auf null auf
@Entity
@Audited
public class CitaAgenda {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "reconocimiento_id")
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
private Reconocimiento reconocimiento;
...
}
auch Reconocimiento
ist ein Unternehmen mit einer eingebetteten Eigenschaft:
@Entity
public class Reconocimiento {
@Embedded
private Enfermeria enfermeria;
...
}
Und die integrierbare Klasse wird wie folgt:
@Embeddable
public class Enfermeria {
private boolean diabetes;
...
}
Jetzt
, wenn ich die Daten aus den Revisionen bringen und hole CitaAgenda, erhalte ich ein
"Can not set boolean Feld ... Enfermeria.diabetes Wert auf null".
Was ich denke, es passiert ist, dass Hibernate die enfermeria Eigenschaft Reconocimiento mit NULL init versucht, weil es alle Felder sind NULL als das einzige Gebiet der Reconocimiento glaubt in der Tabelle _AUD
gespeichert ist die ID (da die anderen nicht auditiert werden). Aber das ist nicht wahr, als würde ich die anderen Felder auditieren, Diabetes wäre false und nicht NULL.
Ich kann Diabetes nicht auf Boolean setzen. Gibt es andere Lösungen? Danke im Voraus.
Können Sie Enfemeria Anmerkungen hinzufügen? –
@Javi_Swift Haben Sie hier eine bidirektionale Zuordnung? Wenn ja '@ NotAudited' auf Reconocimiento ist, was Sie wollen, glaube ich – Eugene
@Eugene, das ist nicht mein Fall, aber danke für den Versuch –