0

我当前的代码

Object resultQuery;
EntityManagerFactory emf = Persistence.createEntityManagerFactory("TESTPU");
EntityManager em = emf.createEntityManager();
TypedQuery<Account> tp = em.createQuery("SELECT a FROM Account a WHERE a.email = :email AND a.pwd = :pwd AND a.role = 'admin'", Account.class);
tp.setParameter("email", this.username);
tp.setParameter("pwd", this.password);
resultQuery = tp.getSingleResult();

结果存储在resultQuery对象中,但我对如何提取对象内部的数据感到困惑。

假设我想从对象中提取name帐户表中的列resultQuery

4

2 回答 2

3

看起来问题出在resultQuery. 鉴于这tpTypedQuery<Account>我*期望的类型:

Account result = tp.getSingleResult();

...在这一点上,大概很容易从Account. 例如:

String name = result.getName();

是否有任何理由resultQuery输入 asObject而不是Account在您的代码中?

我自己没有使用过TypedQuery,但文档getSingleResult()肯定表明这是正确的方法。

于 2013-02-13T07:44:50.187 回答
0

更新:

在这种情况下tp.getSingleResult()将返回一个Account对象。您可以将返回的值分配(不进行任何转换)给Account引用。

于 2013-02-13T07:46:01.363 回答