Hallo!
Ich habe ein Problem mit einer 1:1 Abfrage in hibernate. Ich hab zwei Tabellen die unidirektional miteinander verbunden sind.
In der ersten Tabelle gibt es einen Fremdschlüssel der auf die Werte in der zweiten Tabelle verweist. Nun möchte ich eine Abfrage machen die mir jene Datensätze ausgibt die einen spezifischen Fremdschlüssel haben. Und irgendwie geht das nicht, ich weiß auch nicht warum.
Meine Abfrage in HQL:
Code:
List list = session.createSQLQuery("SELECT b from DmisSessionDiagnosis b WHERE b.session.PID="+record.getSession().getPID()).list();
Ich bekomme immer folgende Fehlermeldung:
Code:
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'DmisSession_id' in 'where clause'
Mein XML Mapping:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="at.ac.uibk.dbis.dmis.server.application.diagnosis">
<class name="DmisSessionDiagnosis" table="DmisSessionDiagnosis" lazy="false">
<id name="PID" column="PID" >
<generator class="increment"/>
</id>
<property name="creationDate" column="CreationDate" type="timestamp" />
<property name="subjectiveSympthomsPatient" column="SubjectiveSympthomsPatient" />
<property name="objectiveSympthomsMedicin" column="ObjectiveSympthomsMedicin" />
<many-to-one name="record" class="DiagnosisRepositoryRecord" cascade="all" unique="true">
<column name="DiagnosisRepositoryRecord_id"></column>
</many-to-one>
<many-to-one name="session" class="at.ac.uibk.dbis.dmis.server.application.session.DmisSession" cascade="all" unique="true">
<column name="DmisSession_id"></column>
</many-to-one>
</class>
</hibernate-mapping>
Hier gibt es die Spalte DmisSession_id. Woran kann dieser Fehler liegen?
Ich hoffe mir kann jemand helfen!
Florian