0

我有以下jpa数据查询方法:

findByEntityIdIn(List<Long> entities);

在我的持久对象上,我有一个名为“entityId”的长类型持久字段。

当我在 openjpa 上调用此方法时,出现以下异常...

org.springframework.dao.InvalidDataAccessApiUsageException:过滤器无效。无法将 long 类型的字段 entityId 与 java.util.Collection 类型的值进行比较。数值比较只能在数值类型之间进行。要启用此类比较以实现向后兼容性,请将“QuotedNumbersInQueries=true”添加到配置中的 org.apache.openjpa.Compatibility 设置中。嵌套异常是 org.apache.openjpa.persistence.ArgumentException:过滤器无效。无法将 long 类型的字段 entityId 与 java.util.Collection 类型的值进行比较。数值比较只能在数值类型之间进行。要启用此类向后兼容性比较,请将“QuotedNumbersInQueries=true”添加到配置中的 org.apache.openjpa.Compatibility 设置。

我应该按照它的建议去做还是有其他解决方案?基本上听起来我只能在没有配置参数的情况下对字符串数据类型使用集合,因为它引用了传入集合中的每个条目。

4

1 回答 1

1

这是 OpenJPA 中的一个错误。我们建议使用不同的持久性提供程序。

于 2013-10-22T13:18:59.310 回答