выберите Query Run для hibernateTemplate.save () - PullRequest
0 голосов
/ 14 февраля 2011

Я использую hibernate 3.5.0 final с spring. В этом я хочу сохранить данные в таблицу, у которой есть составной ключ, связанный с тремя другими таблицами. Я использовал hibernateTemplate.save (). Но когда я вижу журналыэто ясно показывает, что выбор происходит перед каждой вставкой. Я все еще не могу определить причину.

Пожалуйста, помогите!

Отображение:

<hibernate-mapping>
    <class name="class1" table="EVENT_ASSET_DISPOSITION">
        <composite-id name="id" class="Idclass">
            <key-property name="pk1" type="java.math.BigInteger">
                <column name="PK_1" precision="38" scale="0"  not-null="true"/>
            </key-property>
            <key-property name="pk2" type="long">
                <column name="PK_2" not-null="true" />
            </key-property>
            <key-property name="pk3" type="long">
                <column name="PK_3" precision="38" scale="0" not-null="true"/>
            </key-property>
        </composite-id>
        <property name="column1" type="java.math.BigDecimal" generated="insert">
            <column name="COLUMN_1" precision="38" scale="0" />
        </property> 
</hibernate-mapping>

SQL: -

Вставка [STDOUT] (pool-14-thread-1) в значения TABLE_1 (COLUMN_1, PK_1, PK_2, PK_3) (?,?,???и table1_.PK_2 =?и table1_.PK_3 =?

Приветствия, Дварак

Ответы [ 2 ]

0 голосов
/ 08 апреля 2011

Журнал показывает, что select выдается после insert. Это связано с тем, что column1 объявлен как generated="insert", поэтому Hibernate нужно извлекать сгенерированные значения этого столбца после insert.

Смотри также:

0 голосов
/ 14 февраля 2011

Один механизм, который hibernate использует для определения, является ли объект временным или нет, является версионным

если вы добавите столбец версии к вашему отображению / объекту, это должно решить проблему

<version name="version" column="version" type="integer" unsaved-value="undefined"/> 

РЕДАКТИРОВАТЬ 1:

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-version

@ см. Раздел 5.1.9

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...