目前我正在学习Spring框架,主要关注它的安全模块.我已经看过一些与注册和登录相关的指南.我在User类的密码字段中看到了transient关键字或@Transient注释的常见用法.
我的虚拟应用程序使用Spring Boot + Spring MVC + Spring Security + MySQL.
我知道
Java的transient关键字用于表示字段不是序列化的.
JPA的@Transient注释 ......
...指定属性或字段不是持久的.它用于注释实体类,映射的超类或可嵌入类的属性或字段.
和org.springframework.data.annotation的@Transient批注...
将字段标记为映射框架的瞬态字段.因此,该属性将不会被持久化,也不会被映射框架进一步检查.
在我的MySQL数据库中,我有spring_demo模式,它有3个表:
+-----------------------+
| Tables_in_spring_demo |
+-----------------------+
| role |
| user |
| user_role |
+-----------------------+
Run Code Online (Sandbox Code Playgroud)
当我在User类的密码字段中使用transient关键字时,它不会存储在MySQL数据库中.(例如:test01)
mysql> select * from user;
+----+--------+------------------+----------+
| id | active | email | username |
+----+--------+------------------+----------+
| 1 | 1 | test01@gmail.com | test01 |
+----+--------+------------------+----------+ …Run Code Online (Sandbox Code Playgroud) jpa spring-security transient spring-annotations spring-data