In meinem Benutzerobjekt ich unten haben Join-Tabelle:Elternteil Key nicht gefunden (ORA-02291)
@JsonIgnore
@ManyToMany
@JoinTable(
name = "JHI_USER_AUTHORITY",
joinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")},
inverseJoinColumns = {@JoinColumn(name = "authority_name", referencedColumnName = "name")})
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
private Set<Authority> authorities = new HashSet<>();
ich auch einen Trigger auf Benutzerobjekt haben eine primäre ID bis auf Zeile Schaffung
TRIGGER TRG_JHI_USER_ID
BEFORE INSERT
ON JHI_USER
FOR EACH ROW
DECLARE
BEGIN
SELECT SEQ_USER.NEXTVAL INTO :NEW.ID FROM DUAL;
END TRG_JHI_USER_ID;
einfügen Jetzt
, wenn ich einen Benutzer erstelle ich unter Ausnahme erhalten:
Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (PORTALUSER.FK_USER_ID) violated - parent key not found
Scheint, wie wenn das Benutzerobjekt versucht wird, beibehalten werden, um es m anhalten y many-to-many table auch bevor der trigger ausgeführt wird und somit keine user_id gefunden wird, wenn das richtig verstanden ist. Wie löse ich das, ohne eine komplexe Lösung zu durchsuchen?
passieren Dieses in Oracle 11.
Dies ist das Modell:
Der "Portalbenutzer" ist der Besitzer wie "PORTALUSER". "JHI_USER_AUTHORITY". – talx
Ich habe das Modell in meiner Beschreibung hinzugefügt – talx
Sorry für meine Verwirrung, was 'portaluser' war. Dennoch ist der Auslöser nicht das Problem. Irgendwie wird die Zeile 'jhi_user_authority' * vor * der übergeordneten' jhi_user' Zeile eingefügt. Hast du die Kontrolle darüber? Sind Sie sicher, dass eine 'jhi_user'-Zeile eingefügt wird? – sstan