может кто-нибудь рассказать мне элегантный способ вставки экземпляра даты Java в базу данных?
в настоящее время я использую IBATIS с Spring MVC. я определил свойство java.util.date в командном компоненте и редакторе свойств в контроллере для преобразования даты, однако я не могу вставить свойство java.util.date в БД.
я должен преобразовать это в экземпляр java.sql.date для хранения в БД?
если мне нужно конвертировать, то куда писать код конвертации(DAO,...)?
я новичок в J2EE, поэтому довольно запутался с обработкой объектов даты.
любая помощь?
С уважением
Ответ 1 · рейтинг 2 · Yuval
Должен сказать, что я не знаком с iBATIS... Но просматривая их documentation (стр. 27), вы можете добавить атрибут jdbcType к своему XML-сопоставлению и конкретно сообщить платформе ORM, какой тип использовать .
Ответ 2 · рейтинг 1 · James Anderson
Если вы не используете Pache Derby/javadb в качестве базы данных, то тип DATE базы данных не имеет ничего общего с классом Date в Java.
Кроме того, нет стандартизации типа DATE между системами баз данных. Дедушка DB2 использует "гггг-мм-дд" в качестве внешнего формата строки, этому соглашению следовали Sybase и, следовательно, SQLServer и odbc. Однако DATEFORMAT можно легко переопределить в конфигурации SQLServer, поэтому он может оказаться почти любым.
Формат даты по умолчанию для баз данных ORACLE устанавливается во время установки и может быть практически любым в зависимости от прихоти установщика.
Большинство ORM (не очень хорошо знакомых с IBATIS) можно сконфигурировать для обработки этих преобразований дат, если вы знаете, чего ожидает целевая DB2.