Как использовать CreateNativeQuery для запроса одного значения из значения базы данных SQL? - PullRequest
0 голосов
/ 06 апреля 2011

с использованием CRUD и хотите получить доступ к определенному значению в базе данных.я попробовал:

Query query = em.createNativeQuery("select o from Table o where o.IDfield= '938'"); 
Table o = (Table)query.getSingleResult();

, но это не удалось.

Есть предложения?

1 Ответ

0 голосов
/ 06 апреля 2011

Ваш выбор выглядит как запрос 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...