0

我正在尝试执行一个查询,该查询选择所有超过 1 天的实体:

@Entity
public class Foo {
    // other stuff
    @Temporal(TemporalType.TIMESTAMP)
    private Date myDate;
    // getters, setters, etc.pp.
}


// in my DAO class:
Date yesterday = new Date(new Date().getTime()-24*60*60*1000);
TypedQuery<Foo> query = mgr.createQuery("SELECT f FROM Foo f WHERE f.myDate < :dateParam", Foo.class);
query.setParameter("dateParam", yesterday); // also tried adding additional TemporalType.TIMESTAMP parameter ...

当这件事被执行时,它指出"java.lang.IllegalArgumentException: Type (\"org.datanucleus.query.evaluator.InMemoryQueryResult\") is not that of an entity but needs to be for this operation"
我的查询有问题吗?或者我处理日期的方式?

根据要求:persistence.xml

<?xml version="1.0" encoding="UTF-8" ?>
<persistence>

    <persistence-unit name="transactions-optional">
        <provider>org.datanucleus.api.jpa.PersistenceProviderImpl</provider>
        <properties>
            <property name="datanucleus.NontransactionalRead" value="true"/>
            <property name="datanucleus.NontransactionalWrite" value="true"/>
            <property name="datanucleus.ConnectionURL" value="appengine"/>
        </properties>
    </persistence-unit>
</persistence>
4

0 回答 0