java - 使用 Criteria 从数据库中选择特定字段?

标签 java hibernate hibernate-criteria

我有一个如下的方法

public List<String> getSimilarResourceNames(String resourceName){
    String searchString = "%"+resourceName+"%";
    Session session = getSession();
    Criteria criteria = session.createCriteria(Resource.class);
    criteria.add(Restrictions.like("name", searchString));
    return  criteria.list()
}

这将从数据库返回整个资源,但我需要的只是资源的名称。我怎样才能做到这一点?

最佳答案

使用投影,您可以在Hibernate documentation中找到示例.

Criteria criteria = session.createCriteria(Resource.class);
criteria.setProjection(Property.forName("name"))
criteria.add(Restrictions.like("name", searchString));

关于java - 使用 Criteria 从数据库中选择特定字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30434546/

相关文章:

java - Hibernate Criteria,createAlias() 如果 Alias 为 Null

java - ProgressBar 在 RecyclerView Adapter 中不刷新

java - Git:将文件自动 merge 为冲突文件

java - Hibernate 和 MS SQL Server 标识列

hibernate - org.hibernate.TransactionException : nested transactions not supported

java - Hibernate:如何获取 session.save 方法的完整 sql 查询?

java - 非必需的 1 到 1 映射的 Hibernate 投影/延迟加载

java 带有装饰器模式的条件日志记录

javascript - 如何用图形组件打印jpanel

grails - Grails:如何最好地构造一个休眠条件构建器来搜索与域实例的 'hasMany'关系