是否可以使用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,并且无法获取带有unidadMedida
的条目。
有解决方法吗?