如何调用命名查询

san*_*eep 20 jpa named-query

我在实体类Voter中编写了一个命名查询

NamedQuery(name = "Voter.findvoter", query = "SELECT count(*) FROM Voter v WHERE v.voterID = :voterID" and where v.password= : password),
Run Code Online (Sandbox Code Playgroud)

我想调用这个命名查询,我还需要设置voterID和密码.

你能帮助我吗.谢谢

Dic*_*ood 38

我假设您错过了NamedQuery注释中的@符号?

在代码中,你会这样称呼它:

List results = em.createNamedQuery("Voter.findvoter")
    .setParameter("voterID", "blah")
    .setParameter("password","blahblahblah")
    .getResultList();
Run Code Online (Sandbox Code Playgroud)

  • 请改用TypedQuery.em.createNamedQuery( "Voter.findvoter",Voter.class); (2认同)