使用 Hibernate 配置数据库字段的加密、解密函数。
可以使用@ColumnTransformer
注解的read
、write
属性,或者使用 xml 配置的column
标签的read
、write
属性
本例子基于 spring-boot-starter-data-jpa、druid-spring-boot-starter、spring-boot-starter-test
User 实体类配置
wx_crypto.des_decrypt、wx_crypto.des_encrypt自定义的加解密函数,可以使用 Oracle 内置的 to_char、nvl 等函数代替,效果是一样的
- 实体类注解配置
1 | import lombok.Data; |
read 配置要使用数据库字段名,否则会报错:ORA-00904: “USER0_”.”CERTNO”: 标识符无效
- 实体类 User.hbm.xml 配置
注意:xml 配置 read、write 需要 hibernate 3.5.x 以上版本才支持
1 |
|
read 配置要使用数据库字段名,否则会报错:ORA-00904: “USER0_”.”CERTNO”: 标识符无效
测试
- UserRepository.java
1 | import top.ylonline.domain.User; |
- 数据库配置
1 | spring: |
- Test 类
1 | import top.ylonline.domain.User; |