При использовании hibernate обычно он может определить тип ваших параметров, просматривая либо свойство, с которым он связан, либо hibernate, похоже, распознает определенные типы по умолчанию (например, java.util.Date).
Однако у меня есть несколько запросов, которые используют функции (dateadd). В этих запросах использование объекта, имеющего привязку пользовательского типа, завершается неудачно (в hibernate, по-видимому, по умолчанию используется BINARY, когда он не может определить тип). Я должен передать в спящем "Тип" против параметра запроса.
Это не удастся
Query query = session.createQuery( hql );
query.setParameter( "now", new LocalDateTime() );
return query.list();
Это будет работать (введите явно)
Query query = session.createQuery( hql );
query.setParameter( "now", new LocalDateTime(), Hibernate.custom( LocalDateTimeType.class ) );
return query.list();
Это также будет работать (используя java.util.Date)
Query query = session.createQuery( hql );
query.setParameter( "now", new Date() );
return query.list();
Есть ли способ заставить Hibernate распознавать LocalDateTime как тип, который он может обрабатывать «из коробки», не забывая каждый раз явно передавать тип?
Спасибо.