Hibernate不考虑列别名

Hibernate不考虑列别名,hibernate,jpa,jpa-2.0,Hibernate,Jpa,Jpa 2.0,我试着在HQL下跑步。虽然我已经为列指定别名,但Hibernate没有考虑过。 以下是HQL: 选择et1.AuthenticationId作为A,选择et1.admTCId作为B, et1.条形码为C,et1.未标记为D, et1.ISE为E,et1.magStripNumber为F, et1.serialNumber为G,et1.ticketBankInd为H 来自com.wdw.resmanagement.data.entity.admissionComponentEt1 其中et1.in

我试着在HQL下跑步。虽然我已经为列指定别名,但Hibernate没有考虑过。

以下是HQL:

选择et1.AuthenticationId作为A,选择et1.admTCId作为B, et1.条形码为C,et1.未标记为D, et1.ISE为E,et1.magStripNumber为F, et1.serialNumber为G,et1.ticketBankInd为H 来自com.wdw.resmanagement.data.entity.admissionComponentEt1 其中et1.inactiveDate为NULL,et1.serialNumber=:serialNumber Hibernate生成的对应SQL:

选择 作为col_0_0_0_的许可证, 作为col\u 1\u 0的许可证, 作为第2列第0列的许可证, 作为第3列第0列的行政主管, 作为第4列第0列的许可证, 作为第5列第0列的许可证, 作为第6列第0列的许可证, 作为第7列第0列的银行许可证 从…起 资源管理、行政和项目许可 哪里 许可证0.adm\u enttl\u incatv\u dt为空 和许可证C0_uu.serial_nb_vl=? 我正在使用Oracle 10g数据库


有谁知道我应该更改什么以获得hibernate正在生成的SQL中的相同别名吗?

该查询将返回一个列表。你会用这些别名做什么?无法使用别名访问数组的元素。预期的SQL应该是:选择admissionc0.adm\u enttl\u id作为A,admissionc0.adm\u tc\u id作为B,admissionc0\u.brcd\u vl作为C,admissionc0\u enttl\u incatv\u dt作为D,admissionc0\u.e\u enttl\u作为e,admissionc0.mag\u strp\u vl作为F,admissionc0\u enttl\u作为G,来自RES_MGMT.adm_cmpnt_enttl admissionc0的admissionc0.tkt_bank_作为H,其中admissionc0.adm_enttl_inactv_dt为null,admissionc0.serial_nb_vl=?由于hibernate正在为列生成不同的别名,它正在影响数据库性能。HQL!=SQL。要执行SQL查询,请使用createNativeQueryi。如果还指定了结果类,则只能看到别名具有相关性。对于结果类,JPA提供者可以使用别名来匹配结果类的字段/属性(假设它是JavaBean类型)。我知道我使用的JPA提供程序支持这种模式,但不知道在Hibernate上-是否指定了结果类?