Hallo!
ich hab ein kleines verständnisproblemchen bei einer abfrage....
dem ganzen liegt diese struktur zugrunde:
ich habe einen typ Document der so aussieht:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 21.05.2006 16:43:41 by Hibernate Tools 3.1.0.beta5 -->
<hibernate-mapping>
<class name="pdm.database.Document" table="DOCUMENT">
<id name="docid" type="long">
<column name="DOCID" />
<generator class="native" />
</id>
<version name="version" type="int">
<column name="VERSION" not-null="true" />
</version>
<many-to-one name="user" class="pdm.database.User" fetch="select">
<column name="CREATOR" not-null="true" />
</many-to-one>
<many-to-one name="ablage" class="pdm.database.Ablage" fetch="select">
<column name="ABLAGEID" not-null="true" />
</many-to-one>
<property name="created" type="date">
<column name="CREATED" length="0" not-null="true" />
</property>
<set name="dokumentenindexes" inverse="true">
<key>
<column name="DOCID" not-null="true" />
</key>
<one-to-many class="pdm.database.Dokumentenindex" />
</set>
<set name="documentpages" inverse="true">
<key>
<column name="DOCID" not-null="true" />
</key>
<one-to-many class="pdm.database.Documentpage" />
</set>
</class>
</hibernate-mapping>
diesem zugeordnet in einer weiteren tabelle ist der typ dokumentenindex:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 21.05.2006 16:43:41 by Hibernate Tools 3.1.0.beta5 -->
<hibernate-mapping>
<class name="pdm.database.Dokumentenindex" table="DOKUMENTENINDEX">
<id name="docindexid" type="int">
<column name="DOCINDEXID" />
<generator class="native" />
</id>
<many-to-one name="indexwert" class="pdm.database.Indexwert" fetch="select">
<column name="INDEXID" not-null="true" />
</many-to-one>
<many-to-one name="document" class="pdm.database.Document" fetch="select">
<column name="DOCID" not-null="true" />
</many-to-one>
<property name="indexvalue" type="string">
<column name="INDEXVALUE" length="60" not-null="true" />
</property>
</class>
</hibernate-mapping>
jetzt habe ich in meiner anwendung beispielsweise ein recherche formular, aus dem ich Dokumentenindexe natürlich ohne DOCID bekomme.
nun möchte ich alle Document Objekte haben, auf die jeder der Dokumentenindexe aus dem formular zutrifft ( DOKUMENTINDEX.INDEXVALUE == value aus formular und DOKUMENTINDEX.INDEXID == indexid aus formular )
ähm tja und das ganze dann vieleicht auch noch so, das man mit nem "*" als wildcard in einem formularfeld (zum beispiel so: Kundennummer 1234*)
dann halt keinen == vergleich macht sondern einen "like" vergleich ala SQL
das sind natürlich ganz schön viele sachen, die mit so wenig DB abfragen wie möglich realisiert werden sollen.....
da das mein erstes hibernate projekt ist, bin ich grad bei der fülle der anforderungen an die Recherche-methode ein wenig überfordert.
kann mich da mal jemand in die richtige richtung schubsen?
danke!
|