|
|
|
getSingleResult() на ровном месте генерит эксепшн "No entity found for query"
|
|||
|---|---|---|---|
|
#18+
Добрый день! Помогите пожалуйста разобраться с JPA - как говорится споткнулся на ровном месте! Выполняю простейший запрос используя getSingleResult(): Код: java 1. 2. 3. как результат получаю эксепшн: Код: java 1. НО дело в том, что точно такой же код исключительно-замечательно работает в другой процедуре и эксепшинов не генерит. В чем может быть дело? Что не правильно я "исполняю"? P.S. для того, чтобы выйти из сложившейся ситуации пришлось данный код заменить на: Код: java 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 10:53:47 |
|
||
|
getSingleResult() на ровном месте генерит эксепшн "No entity found for query"
|
|||
|---|---|---|---|
|
#18+
Dutchman, Точно такой же код исключительно-замечательно работает в другой процедуре потому что запрос возвращает одну строку, а в другом 0 строк, все зависит от :prm. Читайте javadoc! getSingleResult java.lang.Object getSingleResult() Execute a SELECT query that returns a single untyped result. Returns: the result Throws: NoResultException - if there is no result NonUniqueResultException - if more than one result IllegalStateException - if called for a Java Persistence query language UPDATE or DELETE statement QueryTimeoutException - if the query execution exceeds the query timeout value set and only the statement is rolled back TransactionRequiredException - if a lock mode has been set and there is no transaction PessimisticLockException - if pessimistic locking fails and the transaction is rolled back LockTimeoutException - if pessimistic locking fails and only the statement is rolled back PersistenceException - if the query execution exceeds the query timeout value set and the transaction is rolled back ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 11:23:27 |
|
||
|
getSingleResult() на ровном месте генерит эксепшн "No entity found for query"
|
|||
|---|---|---|---|
|
#18+
Уважаемый 0FD, проверил на практике - Ваши слова полностью подтверждаются! Но тогда получается, что я заранее должен быть уверен в том, что getSingleResult() возвращает не null. И как следствие безопаснее использовать getResultList(). Правильно я понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 11:53:56 |
|
||
|
getSingleResult() на ровном месте генерит эксепшн "No entity found for query"
|
|||
|---|---|---|---|
|
#18+
Dutchman, Да. Что значит 'безопаснее', просто getSingleResult для других случаев, там где всегда ожидается одна строка, все остальное исключительная ситуация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 12:05:27 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=198&tid=2128129]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
3243ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 3575ms |

| 0 / 0 |
