java - Hibernate:使用 sessionFactory.getTypeHelper().custom(userType) 时出现问题

标签 java spring hibernate

Hibernate.custom(userType) 在 Hibernate 5.2.10.Final 中消失了,所以我必须使用 sessionFactory.getTypeHelper().custom(userType)。有没有办法在没有sessionFactory的情况下获得TypeHelper?以前我使用的是 hibernate 3.6.10.Final。我宁愿不使用 sessionFactory,但我真的找不到解决方法。

主要目标是获取 org.hibernate.usertype.UserType 并返回 org.hibernate.type.Type。

我在3.6.10.Final中有这个功能

public Type getHibernateType() {
    // Type is class that implements hibernates UserType
    return Hibernate.custom(UserType) 
}

在 5.2.10.Final 中,我必须将其更改为类似的内容

public Type getHibernateType() {
    return sessionFactory.getTypeHelper().custom(UserType);
}

如果可以的话,我真的不想使用sessionFactory。所以我想知道是否还有其他方法来获取类型。

最佳答案

嗯,从技术上讲,5.2 仍然通过静态方法中的 TypeFactory 公开功能。

Type type = TypeFactory.custom( UserType.class, null, null );

但是,请注意此方法被标记为 @Deprecated,事实上,整个类已作为 Hibernate 6.0 类型系统检修的一部分被删除。

我会习惯使用 SessionFactory 访问此信息的概念,因为这正是我们目前设计 6.0 的工作方式。

关于java - Hibernate:使用 sessionFactory.getTypeHelper().custom(userType) 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43748487/

相关文章:

java - 什么是自动模块?

java - 如果 bean 定义在不同的文件中,spring ide 和 ref 超链接单击不起作用

java - 将 hibernate 导入到 Eclipse 中的项目中

java - MySQLSyntaxErrorException 尽管一切看起来都很好(Hibernate)

java - Spring Validator注释不起作用

java - 哈希码()与等于()

java - 柯里化(Currying)一个现有的静态函数

java - Spring @Cacheable : Preserve old value on error

java - 谁将 Spring ModelMap 作为参数传递给 Controller ​​方法?

windows - 在 Windows 中 hibernate 整个进程