【发布时间】:2019-11-27 10:08:23
【问题描述】:
这是我的多租户项目的一个实体类
@Entity
public class Customer {
private String uniqueCustomerId;
private String firstName;
private String lastName;
@Convert(converter = CryptoConverter.class)
private String mobile;
private String mobileShavalue;
}
在我的 CryptoConverter.java 中,我从 CryptoConverter.java 中编写的配置和加密逻辑中检查是否必须加密此属性。此外,如果配置告诉我必须加密移动属性,那么在这种情况下,我还必须存储属性 mobileShavalue 的 sha 值(来自配置的 sha1 或 sha2)。
我想到了实现这一点的一件事,就是通过在我的实体类中使用 @PrePersist 并再次从 PrePersist 方法获取配置来验证我是否必须存储移动 sha 值并在那里编写 shavalue 逻辑。
但是当我这样做时,我遇到了错误
@Autowired
EncryptionConfigService encryptionConfigService;
@PrePersist
private void doSomeCode(){
encryptionConfigService.callNewMethod();
}
原因:org.hibernate.MappingException:无法确定类型:com.loylty.tms.service.EncryptionConfigService,在表:客户,列:[org.hibernate.mapping.Column(encryption_config_service)]
【问题讨论】:
标签: java spring spring-boot