我必须遵循实体对象
@Entity
public class Foobar {
...
private List<String> uuids;
...
}
现在我想制作一个条件查询来获取所有Foobar pojos,其uuids列表包含字符串"abc123",我只是不确定如何制定适当的标准.
我有以下条件构建器查询
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Object> critQuery = cb.createQuery();
Root<Role> role = critQuery.from(Role.class);
//create a join between role and permission
MapJoin<Role,String,Permission> perm = role.joinMap("permissions");
critQuery.multiselect(role.get("label"), perm.key(), perm.value());
//this line throws NPE
Query query = em.createQuery(critQuery);
Run Code Online (Sandbox Code Playgroud)
最后一行抛出空指针异常.
java.lang.NullPointerException
at org.hibernate.ejb.criteria.path.AbstractPathImpl.prepareAlias(AbstractPathImpl.java:246)
at org.hibernate.ejb.criteria.path.AbstractPathImpl.render(AbstractPathImpl.java:253)
at org.hibernate.ejb.criteria.path.AbstractPathImpl.renderProjection(AbstractPathImpl.java:261)
Run Code Online (Sandbox Code Playgroud)