Hibernate - 使用Annotations时插入/更新生成语句中的参数顺序

时间:2013-08-17 19:29:24

标签: hibernate insert annotations

我想问一下Hibernate在自动生成的插入/更新语句中使用的参数顺序。

首先让我引用Hibernate参考:

  

位置参数的顺序目前至关重要,因为它们必须与Hibernate期望的顺序相同。

     

您可以通过启用调试日志记录来查看预期的顺序   org.hibernate.persister.entity级别。启用此级别   Hibernate将打印出用于创建的静态SQL,   更新,删除等实体。 (要记住预期的顺序,请记住   不要将自定义SQL包含在映射文件中   覆盖Hibernate生成的静态sql。)

我发现(通过快速测试),使用XML映射时参数的顺序与XML文件中的属性顺序完全相同。

示例:

<many-to-one name="rezerwacja" class="model_mapowanie_xml.Trezerwacja" fetch="select">
    <column name="IdRezerwacja" not-null="true" />
</many-to-one>
<property name="kwota" type="big_decimal">
    <column name="Kwota" scale="4" not-null="true" />
</property>
<property name="data" type="timestamp">
    <column name="Data" length="19" not-null="true" />
</property>

生成插入HotelDB.TPlatnosc(IdRezerwacja,Kwota,Data)

当您在xml中切换Kwota和Data的位置时,插入将插入到HotelDB.TPlatnosc(IdRezerwacja,Data,Kwota)。这是针对XML的。

我的问题是:我可以以某种方式预测使用注释时的预期顺序吗?

0 个答案:

没有答案