Thr*_*eaT 36 java mysql hibernate hibernate-criteria
我想使用Hibernate选择单个列而不是整个对象.到目前为止我有这个:
List<String> firstname = null;
firstname = getSession().createCriteria(People.class).list();
Run Code Online (Sandbox Code Playgroud)
我的问题是上面的代码将整个People表作为对象返回,而不仅仅是"firstname".我不知道如何指定只返回"firstname"而不是整个对象.
riz*_*z86 44
您可以为此设置投影,如:
.setProjection(Projections.property("firstname"))
Run Code Online (Sandbox Code Playgroud)
有了这个,你只能得到第一个名字作为回报.
我在堆栈上找到了相同场景的另一个链接.希望这也有助于如何使用hibernate标准只返回一个对象的一个元素而不是整个对象?
如果您需要查询2个或更多列并从查询中获取值,则可以使用以下方法:
....
crit.setProjection(Projections.property("firstname"));
crit.setProjection(Projections.property("lastname"));
List result = crit.list();
...
for (Iterator it = result.iterator(); it.hasNext(); ) {
Object[] myResult = (Object[]) it.next();
String firstname = (String) myResult[0];
String lastname = (String) myResult[1];
....
}
Run Code Online (Sandbox Code Playgroud)