2015-10-15 3 views
0

У нас есть несколько баз данных для нашего приложения.Сохранение типа java.sql.Timestamp в базе данных HSQL

Дата типа java.sql.Timestamp хранится в типе данных DATETIME SQL SERVER.

Но

Для хранения же типа в HSQL DB, я использую TIMESTAMP, и он не в состоянии бросить его.

Я не буду изменять код Java, потому что он работает в SQL Server и Oracle, но мне нужно выполнить только запрос hsql.

Текущий рабочий запрос с SQL Server с поля даты и времени является:

insert into SYSTEM_DOCUMENTS values(?) 

Java код:

timeStamp=new java.sql.Timestamp(new java.util.Date().getTime()); 
String q="insert into SYSTEM_DOCUMENTS values(?)"; 
pstm = con.prepareStatement(q); 
pstm.setTimestamp(1, timeStamp); 
pstm.executeQuery(); 
+0

Покажите нам свой код Java –

+0

@a_horse_with_no_name Добавлен код java. –

+1

executeQuery() должен ** не ** использоваться для операторов DML. Вместо этого используйте 'executeUpdate()' (это явно задокументировано в JavaDocs) –

ответ

0

Если вы используете Hibernate это может быть простым добавлением @Temporal аннотацию

@Temporal(TemporalType.DATE) 
private Date date; 

Temporal имеет TIMESTAMP, DATE, TIME enums

+0

Не использовать hibernate..и я не хочу использовать java-код, вместо этого я хочу реализовать его в запросе HSQLDB. –

Смежные вопросы