无法在查询的结果子句中选择多值对象

时间:2015-01-28 12:31:07

标签: java jdo datanucleus

我正在jdo中尝试以下查询以进行优化

Query myQuery = pm.newQuery(MyInstance.class);
myQuery.setResult("this.id,this.myField");
myQuery.setResultClass(MyResultInstance.class);
myQuery.execute();

调用execute将抛出以下异常,因为myField是一个字节数组(byte[] myField;

javax.servlet.ServletException: javax.jdo.JDOUserException: Cannot select multi-valued objects in a result clause of a query
NestedThrowables:
org.datanucleus.exceptions.NucleusUserException: Cannot select multi-valued objects in a result clause of a query
    net.sf.ehcache.constructs.web.filter.Filter.logThrowable(Filter.java:143)
    net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:91)

有没有办法解决这个限制?我可以将它更改为任何类型,只要我可以以任何方式将其序列化为最终的哈希映射。 datanucleus可以将clobs序列化为字符串,那么为什么不支持blob呢?

是否存在未实现AbstractContainerMapping的字节数组类型?

使用datanucleus版本4.0.2

0 个答案:

没有答案