我们可以在Hibernate HQL查询中连接两个属性吗?

abi*_*eez 24 hibernate

假设我有一个包含两列firstnamelastname具有String数据类型的表.通常我会写我的hql查询

"select firstname,lastname from contact"
Run Code Online (Sandbox Code Playgroud)

我可以写一个连接两个属性的hql查询吗?

也许是这样的 "select firstname+lastname as fullname from Contact"

JB *_*zet 43

select concat(c.firstname, c.lastname) as fullname from Contact c
Run Code Online (Sandbox Code Playgroud)

或者,如果你想要一个分隔符:

select concat(c.firstname, ' ', c.lastname) as fullname from Contact c
Run Code Online (Sandbox Code Playgroud)

请参阅文档.


mar*_*uga 19

您可以在实体中创建计算列:

@Formula(value = " concat(first_name, ' ', last_name) ")
private String fullName;
Run Code Online (Sandbox Code Playgroud)

在您的HQL中,您可以像对待任何其他人一样引用此字段.

在您的情况下,您可以这样做:

"select fullName from Contact"
Run Code Online (Sandbox Code Playgroud)


小智 5

您还可以使用|| 串联运算符:

"select c.firstName || ' ' || c.lastName as fullName from Contact"
Run Code Online (Sandbox Code Playgroud)

尽管读起来可能会令人困惑。