App Engine JPA setParameter无法正常工作

时间:2013-12-03 22:31:59

标签: java google-app-engine jpa persistence jpql

我在获取参数化JPA查询时遇到一些问题,以便在Google App Engine应用中返回正确的结果。

如果我用字符串文字构造查询,我得到我想要的结果:

Query query = entityManager.createQuery("select from DevInfo as DevInfo where DevInfo.timestamp = " + someTimeStamp);
List<DevInfo> foundDevInfo = query.getResultList();

但是如果使用JPA setParameter进行查询,我没有得到任何结果:

Query query = entityManager.createQuery("select from DevInfo as DevInfo where DevInfo.timestamp = :timestamp");
query.setParameter("timestamp", someTimeStamp);
List<DevInfo> foundDevInfo = query.getResultList();

我是否需要做些什么来启用此功能,或者我的查询可能有问题。在研究了一段时间的文档之后,我无法弄清楚这个问题。

我想使用后面的方法,因为我知道使用字符串文字会使我的代码容易受到注入攻击。

任何帮助表示赞赏。 感谢。

0 个答案:

没有答案