javax.persistence.NonUniqueResultException: result returns more than one elements
2015-04-30 02:40
435 查看
javax.persistence.NonUniqueResultException: result returns more than one elements
at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:287)
at com.sencloud.dao.impl.SpecificationValueDaoImpl.findByCode(SpecificationValueDaoImpl.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
getSingleResult方法获取的值不唯一。不过这个犯法不是应该获取第一个么?后面更新
getSingleResult方法一定要加try catch(
NoResultException e),这个方法假如查不到值并不会返回null而是抛出NoResultException异常。
补充:
这个方法经过查阅发现很局限,他要求必须只能返回一个值:多了抛出NonUniqueResultException异常,查询不到结果抛出NoResultException异常。所以方法慎用!
at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:287)
at com.sencloud.dao.impl.SpecificationValueDaoImpl.findByCode(SpecificationValueDaoImpl.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
getSingleResult方法获取的值不唯一。不过这个犯法不是应该获取第一个么?后面更新
getSingleResult方法一定要加try catch(
NoResultException e),这个方法假如查不到值并不会返回null而是抛出NoResultException异常。
补充:
这个方法经过查阅发现很局限,他要求必须只能返回一个值:多了抛出NonUniqueResultException异常,查询不到结果抛出NoResultException异常。所以方法慎用!
相关文章推荐
- javax.persistence.NonUniqueResultException: result returns more than one elements
- returns more than one elements; nested exception is javax.persistence.NonUniqueResultException: resu
- javax.persistence.NonUniqueResultException: result returns more than one elements
- 2017.09.25 javax.persistence.NonUniqueResultException 异常
- cannot enlist more than one non-XA resource
- javax.persistence.NoResultException: No entity found for query
- No qualifying bean of type 'javax.sql.DataSource' available: more than one 'primary' bean found
- 存储过程报错1172 - Result consisted of more than one row
- ORA-01427single-row subquery returns more than one
- mysql数学函数存储过程 Result consisted of more than one row
- SemanticException Column xx Found in more than One Tables/Subqueries
- 源码调试Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
- java.lang.IllegalArgumentException: Registered more than one instance with the same objectName
- Exception in thread "main" java.lang.NoSuchMethodError: javax.persistence.OneToOne.orphanRemoval()Z
- Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints
- SQL Error: ORA-01427: single-row subquery returns more than one row
- org.hibernate.NonUniqueResultException: query did not return a unique result: 2
- 存储过程错误 1172 - Result consisted of more than one row
- Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
- java.sql.SQLException: ORA-01427: single-row subquery returns more than one row