Jpa 无法将状态字段路径解析为集合类型

Jpa 无法将状态字段路径解析为集合类型,jpa,eclipselink,jpql,Jpa,Eclipselink,Jpql,在我的实体模型中,User和UserGroup 用户是一个常见的@实体类,而用户组是一个Java枚举 映射如下所示: @ElementCollection(targetClass = my.package.UserRight.class, fetch = FetchType.EAGER) @Enumerated(EnumType.STRING) @CollectionTable(name = "MD_USER_RIGHTS", joinColumns = @JoinColumn(name

在我的实体模型中,
User
UserGroup
用户是一个常见的
@实体
类,而
用户组
是一个Java
枚举

映射如下所示:

@ElementCollection(targetClass = my.package.UserRight.class, fetch = FetchType.EAGER)
@Enumerated(EnumType.STRING)    
@CollectionTable(name = "MD_USER_RIGHTS", joinColumns = @JoinColumn(name = "REF_USER_ID"))
@Column(name = "USER_GROUP")
@Getter @Setter private Set<UserRight> userGroups;

你能告诉我我的代码出了什么问题,以及如何修复它吗?

对于这个构造函数表达式,JPQL语法已经足够好了

constructor_item ::= single_valued_path_expression | scalar_expression | aggregate_expression | identification_variable
不能将多值路径表达式(集合)作为JPQL中构造函数的输入参数。
不知道EclipseLink消息想说什么,请注意,JPQL语法对于构造函数表达式的定义已经足够好了

constructor_item ::= single_valued_path_expression | scalar_expression | aggregate_expression | identification_variable
不能将多值路径表达式(集合)作为JPQL中构造函数的输入参数。
不知道日食信息想说什么,注意,我明白了。。。但是,你是否也有一个建议,我可以如何获得预期的结果?应该在一个查询中完成,而不是N+1。很明显,您可以使用元素的联接执行查询,并返回该数据(单个SQL),然后在您自己的代码中改革集合。不完美但我能理解。。。但是,你是否也有一个建议,我可以如何获得预期的结果?应该在一个查询中完成,而不是N+1。很明显,您可以使用元素的联接执行查询,并返回该数据(单个SQL),然后在您自己的代码中改革集合。不完美,但会奏效
constructor_item ::= single_valued_path_expression | scalar_expression | aggregate_expression | identification_variable