如何将hibernate从4.3迁移到5.3-类型解析器类

bvjxkvbb  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(291)

我正在将我的应用程序从Hibernate4.3升级到5.3。我在4.3中使用了org.hibernate.type.typeresolver中的heuristictype方法。这个类是从5.3版本弃用的,怎么能重写这个代码。
示例代码:

Query query = (Query) session.createQuery(queryString);
query.setParameter(0,value,  (new TypeResolver()).heuristicType(value.getClass().getName()));
xfb7svmp

xfb7svmp1#

如果您担心它在值为 null ,只需用 setParameter 然后才是真正的价值。将确定第一个类型处理程序,并将其缓存,以便在同一进程上进行后续调用 Query 对象。但是,请记住,0是无效索引。他们在jpa中从1开始。只有由于实现失败,它们才允许使用0索引参数。只要把它们改成名字,你就不用担心了。
简而言之:

Query query = (Query) session.createQuery(queryString);
query.setParameter("name", NOT_NULL_CONSTANT);
query.setParameter("name", value); // actual value

相关问题