各位如下题: String sql = "SELECT SUM(a.QTY) AS ALLLIVEQTY FROM a";
Query q = em.createNativeQuery(sql);
q.setHint("javax.persistence.cache.storeMode", "BYPASS");
q.setHint("javax.persistence.cache.retrieveMode", "BYPASS");他会报这样的错:java.lang.IllegalArgumentException: Query null, query hint javax.persistence.cache.retrieveMode is not valid for this type of query.
而同样的调用如果是查询实体,则不会出现错误,代码如下: String sql = "SELECT a.* FROM a";
Query q = em.createNativeQuery(sql);
q.setHint("javax.persistence.cache.storeMode", "BYPASS");
q.setHint("javax.persistence.cache.retrieveMode", "BYPASS");
上面的情况如何来解决呢?上面的查询必须不能使用共享缓存!
在线等,各位高手谢谢了!
Query q = em.createNativeQuery(sql);
q.setHint("javax.persistence.cache.storeMode", "BYPASS");
q.setHint("javax.persistence.cache.retrieveMode", "BYPASS");他会报这样的错:java.lang.IllegalArgumentException: Query null, query hint javax.persistence.cache.retrieveMode is not valid for this type of query.
而同样的调用如果是查询实体,则不会出现错误,代码如下: String sql = "SELECT a.* FROM a";
Query q = em.createNativeQuery(sql);
q.setHint("javax.persistence.cache.storeMode", "BYPASS");
q.setHint("javax.persistence.cache.retrieveMode", "BYPASS");
上面的情况如何来解决呢?上面的查询必须不能使用共享缓存!
在线等,各位高手谢谢了!
方法可以打印执行时的语句产生的语句吗?貌似不行吧,EntityManger和Query都没有得到sql的方法。