Rox*_*Rox 10 java sql jpa eclipselink
您可以使用EntityManager.find(Class entityClass, Object primaryKey)方法查找具有主键的特定行.
但是,如何在列中找到仅具有唯一值且不是主键的值?
Pau*_*Wee 14
您可以在TypedQuery中使用适当的JPQL .
try {
TypedQuery<Bean> tq = em.createQuery("from Bean WHERE column=?", Bean.class);
Bean result = tq.setParameter(1, "uniqueKey").getSingleResult();
} catch(NoResultException noresult) {
// if there is no result
} catch(NonUniqueResultException notUnique) {
// if more than one result
}
Run Code Online (Sandbox Code Playgroud)
例如,像这样:
List<T> results = em.createQuery("SELECT t FROM TABLE t", T.class)
.getResultList();
Run Code Online (Sandbox Code Playgroud)
带参数:
List<T> results = em.createQuery("SELECT t FROM TABLE t where t.value = :value1")
.setParameter("value1", "some value").getResultList();
Run Code Online (Sandbox Code Playgroud)
对于单个结果替换getResultList()为getSingleResult():
T entity = em.createQuery("SELECT t FROM TABLE t where t.uniqueKey = :value1")
.setParameter("value1", "KEY1").getSingleResult();
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用Criteria API.
| 归档时间: |
|
| 查看次数: |
16629 次 |
| 最近记录: |