2016-04-21 15 views
1

Guten Tag für Sie. Ich habe 2 Tische.Hibernate @ ManyToOne Mapping Fehler

CREATE TABLE A(
    id NUMBER(10) NOT NULL, 
    name VARCHAR2(255) NULL, 
    category VARCHAR2(255) NULL, 
    is_hidder NUMBER(1) NULL, 
    is_enabled NUMBER(1) NULL, 
    b_id NUMBER(10) NULL, 
    CONSTRAINT pk_a PRIMARY KEY (ID), 
    CONSTRAINT fk_to_b 
    FOREIGN KEY (vj_users_preferences_id) 
    REFERENCES VJ_USER_PREFERENCES(ID) 
); 

CREATE TABLE B(
    ID NUMBER(10) NOT NULL, 
    EXT_ID NUMBER(10) NOT NULL, 
    KEY VARCHAR2(1024) NOT NULL, 
    VALUE VARCHAR2(1024) NOT NULL, 
    CONSTRAINT PK_B PRIMARY KEY(ID) 
); 

Für beide Tabellen habe ich Entitäten und ich möchte sie @OneToOne zuordnen.

Entität B ist Geprüft und hat kein Feld, daher ist die Verbindung unidirektional. Wenn ich versuche, die eine Einheit zu bestehen habe ich den Fehler:

Caused By: org.hibernate.HibernateException: Could not determine type of dynamic map entity

Diese Ausnahme von geworfen wird:

org.hibernate.tuple.entity.DynamicMapEntityTuplizer.BasicEntityNameResolver#resolveEntityName

Da die Eingangskarte ist und es nicht hat: DynamicMapInstantiator.KEY drin .

Kann mir jemand bei diesem Problem helfen? Ich kann nicht herausfinden, warum Hibernate diese Karte ohne den notwendigen Wert erstellt. Ist etwas falsch mit meiner Zuordnung?

Antwort

0

Es schien, dass meine UI Form über 50 Symbole wurde empfangen, aber Datenbank hatte: EXT_ID NUMBER(10) NOT NULL Wenn ich Tabelle UI Möglichkeiten (z EXT_ID NUMBER (50) NOT NULL), dann wurde Fehler weg zu reflektieren geändert.

Diese Ausnahme ist meines Wissens irreführend in dieser Art von Situation. Ich habe erwartet zu sehen: SQLGrammarException Art davon. Hoffe, dass dies einen Tag lang helfen wird.