16 jpa entitymanager
有人可以告诉我JPA 1.0 EntityManager在通过find检索对象时的内在原因,如果找不到则必须处理null,但是当通过createQuery使用Query接口时getResultList会在找不到时抛出NoResultException.
也许我错过了一些东西,但我觉得它与语言非常不一致,实际上我不得不做很多的重新设计,因为使用查询界面从简单的查找器更改为更细粒度的查询.
多谢你们.
小智 23
查询可用于检索几乎任何内容,包括单行中单个列的值.
如果getSingleResult()将返回null,则无法判断查询是否与任何行匹配,或者查询是否与行匹配,但所选列是否包含null作为其值.
当你进行查找时,jpa将使用主键来定位实体对象,通常使用二级缓存,它通常比createQuery和getSingleResult快得多.
您可以从find中获取null或Object.当您执行createQuery时,将创建Query对象的实例.如果你执行一个getResultList,它将不会抛出NoResultException,只有当你执行getSingleResult才会抛出该异常.如果执行getResultList并且找不到,则返回null.
| 归档时间: |
|
| 查看次数: |
17432 次 |
| 最近记录: |