У меня проблема с отображением hibernate xml. Я хочу добавить новое поле "newField" в уже существующую схему db.
Я хочу вставить это поле за другим (размер в примере), И быть частью уникального ограничения по нескольким столбцам.
Отображение xml выглядит следующим образом:
<hibernate-mapping default-lazy="false" default-cascade="all" package="xxx">
<class name="A" table="As" discriminator-value="a">
<id name="dbId" column="db_id" type="long">
<generator class="IdentityGenerator"/>
</id>
<discriminator column="tag" type="string"/>
<property name="created" type="timestamp" insert="false" update="false" generated="insert"/>
<properties name="key" unique="true">
<property name="name" column="name" type="string" not-null="true"/>
<property name="version" column="version" length="80" type="string"/>
</properties>
<property name="size" column="size" type="long"/>
<property name="newField" column="new_field" type="long"/>
</class>
Если я добавлю свойство своего нового поля в многоколоночные "свойства", он будет создан два раза.
Вы знаете, есть ли у спящего режима способ сделать это?
Спасибо за вашу помощь
Джорис
Спасибо за ваш ответ @Sebri.
Я нашел решение, я просто заменил индекс уникальным ключом
<hibernate-mapping default-lazy="false" default-cascade="all" package="xxx">
<id name="dbId" column="db_id" type="long">
<generator class="IdentityGenerator"/>
</id>
<discriminator column="tag" type="string"/>
<property name="created" type="timestamp" insert="false" update="false" generated="insert"/>
<property name="name" column="name" type="string" not-null="true" unique-key="key"/>
<property name="version" column="version" length="80" type="string" unique-key="key"/>
<property name="size" column="size" type="long"/>
<property name="newField" column="new_field" type="long" unique-key="key"/>
Сначала вы можете использовать уникальный индекс
CREATE UNIQUE INDEX 'index_nom' ON 'As' ('name','version','new_field');
тогда
<property name="name" column="name" type="string" not-null="true" index="UNIQUE_IDX_KEY"/>
<property name="version" column="version" length="80" type="string" index="UNIQUE_IDX_KEY"/>
<property name="newField" column="new_field" index="UNIQUE_IDX_KEY" />