一尘不染

如何使用条件返回具有选定列的实体

hibernate

我对Hibernate真的很陌生。我想要List<User>使用hibernate条件,但只填充了用户ID和名称字段。那可能吗?如下所示的查询:

SELECT user.id, user.name FROM user

问候。


阅读 231

收藏
2020-06-20

共1个答案

一尘不染

这正是预测的目的。这是一个例子:

  Criteria cr = session.createCriteria(User.class)
    .setProjection(Projections.projectionList()
      .add(Projections.property("id"), "id")
      .add(Projections.property("Name"), "Name"))
    .setResultTransformer(Transformers.aliasToBean(User.class));

  List<User> list = cr.list();

实际上,如果您查看“惰性属性提取”文档,他们会特别说:


“至少对于只读事务,避免不必要的列读取的另一种(更好的)方法是使用HQL或Criteria查询的投影功能。这避免了对构建时字节码处理的需求,并且肯定是首选的解决方案。”

2020-06-20