hibernate实现查询某实体的某个字段的多个值的对应实体列表

在使用hibernate和数据库交互时,可以是使用hibernate的session的各种操作数据库方法,在实际使用中也常常结合hbm.xml文件里写好的query执行块,再通过setParameter方式设置参数后执行查询获取结果。

其中经常使用的一个场景----hibernate实现查询某实体的某个字段的多个值的HQL---- ,总是忘记怎么写:

解决办法:

hibernate实现查询某个字段的多个值的HQL写法:



        SELECT *
        FROM UserTable user
        where user.id in :ids
        and user.createdate >= TIMESTAMP(:bd)
        and user.createdate <= TIMESTAMP(:ed)

对应的Dao层类似这样:

Query query = session.getNamedQuery("FetchListInUserTable");
query.setParameterList("ids", userIds.toArray()) ;//对象数组 存放用户id的数组 注意是用setParameterList
List modelStatisticsInfoList = query.setParameter("bd", dateSpan.getBegin())
        .setParameter("ed", dateSpan.getEnd()).list();
Ok, 就这样,下次就会用了,不用再查阅了。

你可能感兴趣的:(Java)