Java 如何不对Hibernate用户类型使用包信息文件?
目前,我们在package-info.java文件中注册用户类型。这些类是使用难以维护的字符串指定的(简单的重命名将破坏代码) 像这样:Java 如何不对Hibernate用户类型使用包信息文件?,java,hibernate,Java,Hibernate,目前,我们在package-info.java文件中注册用户类型。这些类是使用难以维护的字符串指定的(简单的重命名将破坏代码) 像这样: @TypeDefs( { @TypeDef( name = "lienPosition", typeClass = EnumUserType.class, parameters = { @Parameter(name = "enum", value =
@TypeDefs(
{
@TypeDef(
name = "lienPosition",
typeClass = EnumUserType.class,
parameters = {
@Parameter(name = "enum", value = "com.package.level1.LienPosition")
}
)
}
)
有没有一种方法可以使用Hibernate以不使用字符串的方式注册这些用户类型
谢谢,
Alex我自己没有使用过这个,我也不确定它是否能满足您的需要,但从上来看,现在似乎有了一种通过java调用注册类型的方法。如果您正在运行一个足够新的Hibernate,那么这可能是您可以连接到启动中的东西。我不相信这存在于3.5或更早的版本中 但是,下面的讨论表明,对类型系统所做的更改也可能会妨碍您的特定用户类型(
EnumUserType
在讨论中被引用),因此您可能需要一些其他更改来处理此问题