Разница в результатах взята из приложения и через разработчик SQLJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Разница в результатах взята из приложения и через разработчик SQL

Сообщение Anonymous »

Я исследую странную проблему: когда я запускаю SQL -запрос вручную через разработчик SQL, я получаю другой результат, чем когда приложение запускает один и тот же запрос SQL. Я знаю, что это невозможно, но это то, что происходит.

Код: Выделить всё

public sizeNotification loadSizeNotificationByTypeAndColor(
TypeEnum type, String color) {

if (color == null)
return loadSizeNotificationByType(type);

Query q = getSession().getNamedQuery("getNotificationByTypeAndColor");
q.setString("type", type.getType());
q.setString("color", color);

List results = q.list();

if (results.isEmpty()) {
return null;
} else if (results.size() > 1) {
throw new RuntimeException("Can't have > 1 records in table for Color ");
} else {
return results.get(0);
}
}
< /code>
Мы назвали Query в этом месте: < /p>
getSession().getNamedQuery("getNotificationByTypeAndColor")
< /code>
, который: < /p>



< /code>
В журналах я вижу: < /p>
[Worker-2] DEBUG [AbstractBatcher.java:401] -
/* named HQL query getNotificationByTypeAndColor */ select
batchsizen0_.KEY as KEY1_,
batchsizen0_.ID_TYPE as ID2_1_,
batchsizen0_.NOTIFICATION as NOTIFICA3_1_,
batchsizen0_.DATE as DATE4_1_,
batchsizen0_.COLOR_ID as COLOR5_1_
from
SIZE_NOTIFICATIONS batchsizen0_
where
batchsizen0_.TYPE=?
and batchsizen0_.COLOR=?

[Worker-2] DEBUG [NullableType.java:133] - binding 'GR' to parameter: 1
[Worker-2] DEBUG [NullableType.java:133] - binding '89' to parameter: 2

[Worker-2] DEBUG [NullableType.java:172] - returning '173' as column: KEY1_
[Worker-2] DEBUG [NullableType.java:172] - returning 'false' as column: NOTIFICA3_1_
[Worker-2] DEBUG [NullableType.java:172] - returning '2024-07-01 11:30:00' as column: DATE4_1_
[Worker-2] DEBUG [NullableType.java:172] - returning '89' as column: COLOR5_1_
[Worker-2] INFO  [ExecutionTimeLoggerInterceptor.java:21] - my.service.externalGen.DataAccessService.loadSizeNotificationByTypeAndColor([GR, 89]), took : 13 ms.
< /code>
Так что он возвращается: < /p>
returning 'false' as column: NOTIFICA3_1_
< /code>
Однако, когда я запускаю один и тот же запрос (getNotificationByTypeAndColor
) вручную через SQL Developer, я получаю natifica3_1 _ true .
Я не понимаю, откуда может истечь это несоответствие. Я должен упомянуть, что я использую Hibernate 3.2. Что мне здесь проверить, как это может произойти?

Подробнее здесь: https://stackoverflow.com/questions/788 ... -developer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»