您的位置:首页 > 其它

关于Hibernate、NHibernate的 HQL 连接字段,字段拼接查询问题

2011-07-25 11:47 911 查看
假若您遇到了这样的数据库查询问题:

网上看到的问题:

在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;
}
}
}


就这样,搞定了。

来源:万达源科技
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐