|
|
|
Spring & java.sql.SQLDataException
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть сервер Derby, куда мы пытаемся записать данные с помощью JdbcTemplate. При попытке добавления записи со значением null в поле DATE возникает java.sql.SQLDataException: Предпринята попытке получить значение данных типа '<UNKNOWN>' из значения данных типа 'DATE'. Разве Spring не должен сам разруливать такие ситуации? Собственно ради этого всё и затевалось, что бы самим не городить кучу разных проверок исходных данных. Что посоветуете, аксакалы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 08:54:50 |
|
||
|
Spring & java.sql.SQLDataException
|
|||
|---|---|---|---|
|
#18+
JDBC драйвер должен разруливать, а не Spring. stacktrace давайте что ли посмотрим. Нужно найти на каком уровне вклинится и явно искпользовать setNull(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 11:14:46 |
|
||
|
Spring & java.sql.SQLDataException
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Допустим было (просто JDBC) Код: java 1. 2. 3. 4. 5. 6. 7. 8. Всё работает хорошо. Переходим на Spring JdbcTemplate Код: java 1. Вызывает вышеописанный эксепшэн, т.к. contract.getDate() возвращает null (это допустимо). Как в данном случае правильно использовать JdbcTemplate? Разве Spring при инекции объектов не должен был сам поступить так же, как описано в первом примере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 12:30:57 |
|
||
|
Spring & java.sql.SQLDataException
|
|||
|---|---|---|---|
|
#18+
Я смотрю исходники, он так и делает. Рекомендую подебажить, чтобы понять что пошло не так. StatementCreatorUtils.setNull(...) имеет любопытный код. Там он даже проверяет к какой именно базе он приконектился. Стоит подебажить просто из любопытства. Ну, и PreparedStatementSetter для таких случаев никто не отменял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 12:42:10 |
|
||
|
Spring & java.sql.SQLDataException
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Так, эксперимента ради, подключил 3-й Spring (было 2.5) - с ним работает без ошибок. Есть о чём задуматься... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 16:46:54 |
|
||
|
Spring & java.sql.SQLDataException
|
|||
|---|---|---|---|
|
#18+
Тю, так сразу надо было говорить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2013, 17:07:25 |
|
||
|
Spring & java.sql.SQLDataException
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, А с 2.5 это никак не победить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 09:40:43 |
|
||
|
Spring & java.sql.SQLDataException
|
|||
|---|---|---|---|
|
#18+
GarrickА с 2.5 это никак не победить? PreparedStatementSetter свой подсунсть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 11:11:47 |
|
||
|
Spring & java.sql.SQLDataException
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Но если всё придётся описывать самостоятельно руками, зачем тогда вообще нужен этот JdbcTemplate? Не проще использовать голый JDBC? Или всё же какие-то преимущества будут? На данный момент в этом приложении ничего от Spring кроме JdbcTemplate не используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 12:45:28 |
|
||
|
Spring & java.sql.SQLDataException
|
|||
|---|---|---|---|
|
#18+
GarrickНо если всё придётся описывать самостоятельно руками, зачем тогда вообще нужен этот JdbcTemplate? Не проще использовать голый JDBC? Или всё же какие-то преимущества будут? На данный момент в этом приложении ничего от Spring кроме JdbcTemplate не используется. Это просто праздник какой-то. Т.е. Spring используется только как JdbcTemplate, больше ничего от него независит, но апргрейд до, уже много лет как актульаной, версии 3.x принципиально не возможен? Ну, пропатч свой Spring, тогда. Смержи фискы JdbcTemplate. Там принципиальных различий не должно быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 12:48:00 |
|
||
|
Spring & java.sql.SQLDataException
|
|||
|---|---|---|---|
|
#18+
Можно PreparedStatementSetter отнаследовать от дефолтного спрингового и переопределить setNull, чтобы нормально работал. Под рукой 2.5 нет, поэтому точных инструкций дать не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 12:49:26 |
|
||
|
Spring & java.sql.SQLDataException
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЭто просто праздник какой-то. Т.е. Spring используется только как JdbcTemplate, больше ничего от него независит, но апргрейд до, уже много лет как актульаной, версии 3.x принципиально не возможен? +100 JdbcTemplate - это просто милая добавка, заваривать кашу ради него и при этом не быть в состоянии взять самую новую версию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2013, 16:01:11 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38202804&tid=2129664]: |
0ms |
get settings: |
15ms |
get forum list: |
29ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
65ms |
get topic data: |
22ms |
get forum data: |
6ms |
get page messages: |
98ms |
get tp. blocked users: |
3ms |
| others: | 316ms |
| total: | 570ms |

| 0 / 0 |
