我在数据库中存储了一些jpa实体,它有一个包含一些json数据的字段。
@Convert(converter = JsonConverter.class)
public SomeClass entities;
字符串
并且JsonConverter
是smth,如:
@Converter(autoApply = true)
public class JsonListConverter implements AttributeConverter<T, String> {
}
型
我想做的是给这个转换器添加一些构造函数,用一些类型(可能是状态)初始化它,然后用它进行jpa转换。
那么,是否可以使用@Convert
注解(或其他注解)而不是指定class来指定某个特定的转换器示例呢?
我希望能够做到这一点,因为在不同的实体中,我可以有不同的json字段,比如实体数组或集合,或者smth else,所以我不想编写单独的转换器来覆盖所有情况,因为代码对于所有情况都是相同的,它们的区别只是泛型类型和一些在转换之前应该在内部初始化的字段。
1条答案
按热度按时间6l7fqoea1#
您可以通过为实体编写一个抽象类
SomeAbstractClass
并实现equal
和hashcode
方法来实现这一点。它还可以具有存储状态的属性。现在您的具体实现SomeClass1
可以实现这个抽象类并添加更多细节。字符串
现在对于Converter类(实现AttributeConverter:
型