java.lang.UnsupportedOperationException: Dont currently support operator - in JDOQL conversion at org.datanucleus.api.jdo.query.AbstractJDOQLTypedQuery.getJDOQLForExpression(AbstractJDOQLTypedQuery.java:519)
.neg()to the contains filter and got the error I quoted above. Test project is updated, please see here
.negon a BooleanExpression would be equivalent to wrapping the JDOQL boolean expression in
org/datanucleus/store/types/java8/wrappers/ArrayListonly exists in
datanucleus-java8.jarin the 4.x timeline, so why are you including that in your classpath if you say you are using Java 7???!!! https://github.com/datanucleus/datanucleus-java8/tree/master/src/main/java/org/datanucleus/store/types/java8/wrappers
I’ve run into a blocking issue when attempting to upgrade from 5.1.9 to 5.2.0 and have narrowed it down to a change that was made between 5.1.9 and 5.1.10. So upgrading from 5.1.9 to 5.1.10 also does not work. Specifically I use http://www.datanucleus.org/products/accessplatform/jdo/mapping.html#valuegen_uuid and it appears that it doesn’t properly work with this change datanucleus/datanucleus-rdbms@7c75854 - at least that’s what appears to be happening - debugging DN can be challenging when you’re not familiar with the inner-workings.
All along my UUID classes have used the following format:
@Persistent(customValueStrategy = "uuid") @Unique(name = "TEAM_UUID_IDX") @Column(name = "UUID", jdbcType = "VARCHAR", length = 36, allowsNull = "false") @NotNull private UUID uuid;
However, I have also tried the following with the same result
@Persistent(customValueStrategy = "uuid-object") private UUID uuid;
A NPE is thrown in both cases.
java.lang.NullPointerException at org.datanucleus.store.rdbms.mapping.java.UUIDMapping.setObject(UUIDMapping.java:141) at org.datanucleus.store.rdbms.sql.SQLStatementHelper.applyParametersToStatement(SQLStatementHelper.java:310) at org.datanucleus.store.rdbms.query.JDOQLQuery.performExecute(JDOQLQuery.java:623) at org.datanucleus.store.query.Query.executeQuery(Query.java:1967) at org.datanucleus.store.query.Query.executeWithArray(Query.java:1856) at org.datanucleus.api.jdo.JDOQuery.executeInternal(JDOQuery.java:433) at org.datanucleus.api.jdo.JDOQuery.execute(JDOQuery.java:276) at alpine.persistence.AbstractAlpineQueryManager.getObjectByUuid(AbstractAlpineQueryManager.java:518)
Am I doing something wrong? Are there any working unit tests for this? I could only spot a single unit test in the rdbms module, so i assume if tests exist they are in another module. I need a 36 character UUID object for these fields and currently haven’t been able to achieve that with 5.1.10 and higher. Any pointers much appreciated.