我们目前使用的是Hibernate 5.6,但正在尝试升级到Hibernate 6.1。在一个实体中,我们具有以下属性:
@Type(type = "text")
private String someText;
但是在Hibernate 6.1中,@Type
注解中的type
字段被删除了。
@java.lang.annotation.Target({METHOD, FIELD})
@Retention(RUNTIME)
public @interface Type {
/**
* The implementation class which implements {@link UserType}.
*/
Class<? extends UserType<?>> value();
/**
* Parameters to be injected into the custom type after it is
* instantiated. The {@link UserType} implementation must implement
* {@link org.hibernate.usertype.ParameterizedType} to receive the
* parameters.
*/
Parameter[] parameters() default {};
}
问:Hibernate 6.1中@Type(type = "text")
的等价物是什么?
2条答案
按热度按时间xmjla07d1#
基于Hibernate 5.0文档-对于
text
,BasicTypeRegistry键对应于LONGVARCHAR
Jdbc类型。在Hibernate 6.1.5文档中,提供了使用
@JdbcTypeCode
注解的选项:bjp0bcyl2#
我不知道在Hibernate 6+中使用
@Type
的正确语法,但作为一种解决方法,您可以尝试使用@Column
注解: