Java 无法再次将日期设置为空
我正在尝试使用hibernate将oracle中以前设置的日期字段设置为null,但一旦将“null”列设置为日期,我就无法再次将其设置为null,因为我不知道如何将null日期表示为下面查询中传递的参数Java 无法再次将日期设置为空,java,sql,oracle,hibernate,date,Java,Sql,Oracle,Hibernate,Date,我正在尝试使用hibernate将oracle中以前设置的日期字段设置为null,但一旦将“null”列设置为日期,我就无法再次将其设置为null,因为我不知道如何将null日期表示为下面查询中传递的参数 Query updateQuery; updateQuery = em.createNativeQuery("UPDATE STATION SET MOD_DT = ?1 WHERE STATION_ID = ?2"); updateQuery.setParameter(2, stationI
Query updateQuery;
updateQuery = em.createNativeQuery("UPDATE STATION SET MOD_DT = ?1 WHERE STATION_ID = ?2");
updateQuery.setParameter(2, stationId);
updateQuery.setParameter(1, null);
updateQuery.executeUpdate();
日志:
g!2014年12月2日下午4:41:46 org.hibernate.engine.jdbc.spi.SqlExceptionHelper日志异常
警告:SQL错误:932,SQLState:42000
此处提供一些信息:尝试此问题的解决方案: setParameter有3个参数,其中一个参数是值类型
g! Dec 02, 2014 4:41:46 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 932, SQLState: 42000
<02-Dec-2014 16:41:46 o'clock EET> <Warning> <org.hibernate.engine.jdbc.spi.SqlExceptionHelper> <BEA-000000> <SQL Error: 932, SQLState: 42000>
Dec 02, 2014 4:41:46 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: ORA-00932: inconsistent datatypes: expected DATE got BINARY
<02-Dec-2014 16:41:46 o'clock EET> <Error> <org.hibernate.engine.jdbc.spi.SqlExceptionHelper> <BEA-000000> <ORA-00932: inconsistent datatypes: expected DATE got BINARY>
Query updateQuery;
updateQuery = em.createNativeQuery("UPDATE STATION SET MOD_DT = null WHERE STATION_ID = ?1");
updateQuery.setParameter(1, stationId);
updateQuery.executeUpdate();