#oracle #hibernate #jpa #spring-data-jpa #spring-data
Вопрос:
Я написал ниже java-код в своем репозитории JPA.
@Query("insert into table (date_colum) value(:dateValue)",nativeQuery= true)
public int insertData(@Param("dateValue") dateValue);
Приведенный выше код идеально работает, когда столбец dateValue имеет некоторое значение. Но когда значение dateValue cloumn равно нулю, в этом случае это приведет к следующей ошибке .
Error : ora-00932 inconsistent datatypes expected date got binary
Любое решение , пожалуйста, помогите, я ценю.
Заранее спасибо
Комментарии:
1. вы уверены, что это а
date
. ошибка совершенно очевидна, значение :dateValue не является датой.2. Нет , я уверен , что это только дата, это работает идеально, когда передается значение даты, но не работает в случае нулевого значения
3. Какой фактический тип вы используете для даты?
4. Дата, которую я использую
Ответ №1:
Если мы добавим @Temporal к вашему параметру даты, Spring Data знает, как представить этот параметр в спящий режим, даже если он равен нулю:
Код выглядит так, как показано ниже.
@Query("insert into table (date_colum) value(:dateValue)",nativeQuery= true)
public int insertData(@Param("dateValue") @Temporal java.util.Date dateValue);