当使用Hibernate时,通常可以通过查看它所反对的属性来确定参数的类型,或者Hibernate似乎默认地识别某些类型(例如Java.U.T.Dead)。
但是,我有一些使用函数(dateadd)的查询。在这些查询中,使用具有自定义类型绑定的对象失败(当Hibernate无法确定类型时,它似乎默认为二进制)。我必须根据查询参数传入正确的休眠“type”。
这会失败
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. U.L.DATE)
Query query = session.createQuery( hql );
query.setParameter( "now", new Date() );
return query.list();
是否有任何方法可以让Hibernate将LocalDateTime识别为它可以在开箱即用的情况下处理的类型,而不必记住每次都显式地传入该类型?
谢谢。