Hallo,
ich möchte für einige Spalten explizit angeben, daß sie indiziert
werden sollen (ich verwende PostgreSQL 8.1 und Hibernate 3.2.3).
Folgendes Mapping habe ich
<hibernate-mapping default-access="field" default-cascade="persist,save-update" auto-import="false">
<class name="mypackage.MyClass" table="my_class">
<cache usage="read-write"/>
<id name="id" type="string" column="id" unsaved-value="undefined">
</id>
<discriminator>
<column name="class_1" index="class_idx"/>
</discriminator>
<version name="versionCounter" column="version_counter"/>
<property name="myAtt" column="my_att" type="string" length="1024" index="my_att_idx"/>
</class>
</hibernate-mapping>
Ich habe im Diskriminator extra die Spalte umbenannt, um zu sehen,
ob das Schema-Tool die Angaben aus dem column-Tag beachtet.
Alles wird korrekt eingelesen, nur die Index-Angaben werden ignoriert.
Unter pgadmin kann ich mir direkt die passenden Indices anlegen,
z.B. mit
CREATE INDEX my_att_idx ON my_class (my_att);
aber schöner wäre das natürlich von Hibernate direkt aus.
Es wird auch kein Error, keine Warning und keine Exception ausgeloggt.
Hibernate ignoriert einfach die Index-Angaben.
Wie bekomme ich das mit den Indices hin?
Danke für alle Hinweise und Tips.
Ciao
Peter Schütt
|