您的位置:首页 > 其它

SSH:如何让Hibernate的HQL只返回部分属性的对象(POJO)集合?

2014-06-03 18:00 435 查看

1、SSH的版本

Struts2版本:2.3.16.1 
Spring版本:3.2.5.RELEASE
Hibernate版本:4.2.0.Final

2、为POJO新增带参数的构造函数(必须同时添加一个无参的构造函数)

@Entity
@Table(name = "user_order", catalog = "hibernate")
public class UserOrder {
private Integer id;
private Integer userId;
private String orderDesc;
private User user;

/**
* 默认构造函数
*/
public UserOrder() {
}

/**
* 自定义构造函数以便实现只包含部分属性的List
* @param id
* @param userId
* @param orderDesc
*/
public UserOrder(Integer id, Integer userId, String orderDesc) {
this.id = id;
this.userId = userId;
this.orderDesc = orderDesc;
}
}

3、通过HQL来new一个只有部分属性的对象并通过List集合返回

@Override
public List<UserOrder> getUserOrdersByPage(int userId, int pageIndex, int pageSize) {
Query query = getCurrentSession().createQuery("select new UserOrder(id,userId,orderDesc) from UserOrder as uo where uo.userId=?");
return query.setInteger(0, userId).setFirstResult((pageIndex - 1) * pageSize).setMaxResults(pageSize).list();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ssh hibernate
相关文章推荐