无名的博客

在HIBERNATE里投影查询数据

    在数据库中我们经常会用到类似这样的sql语句:SELECT A,B,C FROM TABLE_A,在HIBERNATE里实现起来相比较而然,稍微复杂了一点。
    在HIBERNATE里语句应当这么来写:SELECT tableA.a,tableA.b,tableA.c FROM tableA

    tableA-----------表TABLE_A对应的HIBERNATE的类名
    a,b,c-------------表TABLE_A里的三个列名对应的HIBERNATE的类的几个属性

    最后便是取出查询的数据,整个返回值为Iterator,一行数据就是一个Object[]数组,数组里的每个变量对应tableA.a,tableA.b,tableA.c 的顺序取出此行该列的数据值,然后根据tableA.a,tableA.b,tableA.c 在类里的类型在对其进行相应的强制类型转换。
    但是在我测试时如果在语句中FROM之前用到一些类似TO_CHAR,DECODE的函数则就会报错,提示没有该列,也不能像tableA.a AS TP这样来写。如果有解决这种情况出现的问题的,请告知。

posted on 2005-10-25 14:57 十三郎 阅读(1554) 评论(1)  编辑  收藏 所属分类: HIBERNATE


只有注册用户登录后才能发表评论。


网站导航: