Ваш выбор выглядит как запрос jpql, поэтому он не будет работать при прямой передаче в базу данных как собственный запрос. Вместо этого вы можете использовать метод createQuery
. Еще лучше было бы использовать именованный параметризованный запрос, объявленный для вашей сущности, например:
@Entity
@NamedQueries({@NamedQuery(name="MyEntity.findById", query="select o from MyEntity o where o.IDfield = :id"})
public class MyEntity {
@Id
private String IDfield;
}
...
MyEntity entity = (MyEntity)em.createNamedQuery("MyEntity.findById").setParameter("id", "938").getSingleResult();