如何使用 cast 编写 hql 查询?

2022-08-31 20:34:14

我需要使用hql组合2个表,两者都有公共列,但公共列是和公共列是table1integertable2String

例如

select a.id as id,a.name as name,b.address as address 
from Personal as a,Home as b 
where a.id=b.studid

这里有一段时间是一个,但两列的数据是相同的。a.idintegerb.stduidstring

如何使用 hql 查询获取查询结果?


答案 1

HQL 支持(如果底层数据库支持),您可以使用它:CAST

select a.id as id,a.name as name,b.address as address 
from Personal as a,Home as b
where cast(a.id as string) = b.studid 

另请参阅:


答案 2

你真的需要考虑为什么你需要通过不同类型的属性连接两个实体。最有可能的是,它表明某些实体需要重构,这可能包括更改基础数据库表列的数据类型。如果模型是正确的,则无需扭曲Hibernate。


推荐