假若您遇到了这样的数据库查询问题:
网上看到的问题:
在sql中可以select userName(select t.lastname || ''|| t.firstname as userName from user_info t)
可以把lastname和firstname合在一起变成一个字段userName 但是在hql中不知道
连接 orcale,db2 用 ||,sqlserver 用 + 。
在SQL语句中我们可以直接将字段进行连接(拼接)来形成一个我们需要的新的列,如下SQL所示:
--For SQL Server:
SELECT mc,bh+ ',' + CAST(jc AS varchar) AS bh FROM xt_bmxx where lxid='md'
--For orcale,db2 ,Informix,==:
SELECT mc,bh || ',' || jc AS bh FROM xt_bmxx where lxid='md'
但在Hibernate、NHibernate的HQL语句中我们没法这样去编写语句,但方法总是有的,我们可以在实体类(JAVA中叫JavaBean)中进行字段的连接,如下所示:
public class TestEntity
{
private string _bh;
private string _mc;
private int _jc;
public string Bh
{
get
{
return this._bh;
}
set
{
this._bh = value;
}
}
public int Jc
{
get
{
return this._jc;
}
set
{
this._jc = value;
}
}
//拼接字段,没有set
public string BhAndJc
{
get
{
return this.Bh + "," + Jc;
}
}
}
就这样,搞定了。
来源:万达源科技