0

是否可以使用 Hibernate 从具有空外键的对象中仅获取某些字段?

我有一个Cccg引用其他表的实体,例如unidadMedida. 我想Cccgs从数据库中获取一些字段,包括id_unidadMedida该字段id_unidadMedida是否为空。如果我获取整个对象,我可以获得对象,但我只想获取一些字段。问题是 Hibernate 似乎将 HQL 转换为以下形式:

select a.idnCccg, a.id_unidadMedida ... where (to_date('01/01/2014 00:00:00','dd/MM/yyyy HH24:MI:SS') <= a.fecFinVigencia or a.fecFinVigencia is NULL) a.fechaBajaLogica is NULL

进入将字段的值与unidadMedida的主键进行比较的查询。

select ... from PROG_TCCCG cccg0_, PROG_TUNIDAD_MEDIDA unidadmedi_ where cccg0_.IDN_UNIMED=unidadmedi_.IDN_UNIDAD_MEDIDA and ...

由于在 SQL 中任何与 null 的比较都会返回 false,cccg0_.IDN_UNIMED=unidadmedi_.IDN_UNIDAD_MEDIDA因此将始终评估为 false,并且无法获取具有 null 的条目unidadMedida

有什么解决方法吗?

4

0 回答 0