我是自定义注释绑定和hibernate的新手。
我正在开发一个加密和解密字符串的自定义注释 在一个休眠实体中。
我不明白这样做的确切程序。我根据我找到的信息尝试这个,但我的代码不起作用。
我发现了一个类似的问题 Custom Annotation implementation Hibernate not getting called
但我的要求有点不同而且很清楚。需要一些指导。
我的实体
@Entity
@Table(name="demo")
@JsonIgnoreProperties(ignoreUnknown = true)
public class Demo {
@Id
@GeneratedValue
private Long id;
private String somethingPublic;
@EncryptDemo(convertor = EncryptDemo.class)
private String somethingPrivate;
//getter setter
}
我的客户注释。
@Target({ ElementType.METHOD, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface EncryptDemo {
Class<? extends Object> convertor() default PrivateEncryptor.class;
}
我的PrivateEncryptor类
public Object encrypt(Object encryptedString) {
//encrypt code.
return encryptedString;
}
我的实体存储在数据库中,但未通过注释实现进行处理。
我试试这个,我的字符串已加密,
@PreUpdate
@PrePersist
public void convert() {
//my encrypt code
}
然而,这与我的自定义注释无关。我被困在这个位置。请给我一些链接或示例来使用hibernate创建自定义注释。任何帮助将不胜感激。请指导我这个。
提前致谢。