如何从数据库中选择列表中的特定条目?
Posted
技术标签:
【中文标题】如何从数据库中选择列表中的特定条目?【英文标题】:How to select a specific entry in a List from DB? 【发布时间】:2013-06-28 11:27:29 【问题描述】:如果我有两个参数username
和projectname
,如何查询特定项目?尤其是下面的查询有什么问题?
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 列表中的核心数据实体中过滤条目