关于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所示:
但在Hibernate、NHibernate的HQL语句中我们没法这样去编写语句,但方法总是有的,我们可以在实体类(JAVA中叫JavaBean)中进行字段的连接,如下所示:
就这样,搞定了。
来源:万达源科技
网上看到的问题:
在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; } } }
就这样,搞定了。
来源:万达源科技
相关文章推荐
- Hibernate中关于多表连接查询hql 和 sql 返回值集合中对象问题
- Hibernate中关于多表连接查询hql 和 sql 返回值集合中对象问题
- (转)Hibernate中关于多表连接查询hql 和 sql 返回值集合中对象问题
- Hibernate中关于多表连接查询hql 和 sql 返回值集合中对象问题
- Hibernate中关于多表连接查询hql 和 sql 返回值集合中对象问题
- Hibernate中关于多表连接查询hql 和 sql 返回值集合中对象问题
- 关于用Hibernate执行sql查询,字符字段类型只返回第一个字节的问题
- 在使用Hibernate时,因为一个查询需要更多的表连接而要使用SQL来解决性能问题。然而返回的结果集中包含了没有映射的Entity类中的表字段,在这个SQL中还有使用如何将层次关系的父子结点显示为横行
- hibernate关于hql的左外连接查询
- 关于left join连接查询 两张表里有同名字段的问题
- 关于HQL(Hibernate Query Language)的查询方法
- 关于hibernate的查询返回类型问题总结
- Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
- hibernate用hql怎么查询某个字段
- Hibernate批量处理数据、[HQL连接查询]
- Hibernate中用hql查询部分字段
- hibernate----懒加载,原生 sql查询及多种hql查询,表连接查询
- Hibernate 限制查询数目,解决Limit在hql不能使用问题
- 关于Hibernate源码 org.hibernate.hql.antlr包为空的问题。
- Hibernate多对多关联映射的HQL中的in条件查询问题