开发者

How to use CreateNativeQuery to query single value from SQL database value?

using a CRUD and want o access a 开发者_Go百科certain value in the databse. what I tried is:

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

but this fails.

Any suggestions?


Your select looks like a jpql query so it won't work when passed directly to the database as a native query. You can use the createQuery method instead. Even better would be to use a named parameterized query declared on your entity like this:

@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();
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜