我想问一下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的。
我的问题是:我可以以某种方式预测使用注释时的预期顺序吗?