如何从数据库中选择列表中的特定条目?

Posted

技术标签:

【中文标题】如何从数据库中选择列表中的特定条目?【英文标题】:How to select a specific entry in a List from DB? 【发布时间】:2013-06-28 11:27:29 【问题描述】:

如果我有两个参数usernameprojectname,如何查询特定项目?尤其是下面的查询有什么问题?

class Person 
   private String name;
   private List<Project> projects;


class Project 
   private String projectname;

查询:

SELECT Project FROM Person p WHERE p.name := username AND p.projects.projectname =: projectname

结果:

illegal attempt to dereference collection [person0_.name.projects] with element property reference [projectname]

【问题讨论】:

【参考方案1】:

由于您正在对 pojo 的集合进行操作,因此您必须在对其进行操作之前急切地加载集合。

试试(没测试过)

SELECT Project FROM Person p left join fetch p.projects as projs WHERE
                        p.name := username AND  projs.projectname =: projectname

请refer association joins in HQL

【讨论】:

以上是关于如何从数据库中选择列表中的特定条目?的主要内容,如果未能解决你的问题,请参考以下文章

从出现在 NSPopUpButton 列表中的核心数据实体中过滤条目

如何在列表中的特定索引中添加条目?

如何将数据库中的特定值显示为第一个下拉列表选择选项

如何使用 selectInput 从 R 中的数据框中选择特定列?

如何从 MS access 2007 中的特定表中选择索引

从列表条目访问 SQL 数据