@Transient注解

作者: adm 分类: java 发布时间: 2023-07-31

@Transient注解作用:
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。当一个对象被序列化的时候,transient型变量的值不包括在序列化的表示中,然而非transient型的变量是被包括进去的。
@Transient 注解
实体类中使用了@Table注解后,想要添加表中不存在的字段,就要使用@Transient这个注解了。
使用 @Transient 表示该属性并非是一个要映射到数据库表中的字段,只是起辅助作用.ORM框架将会忽略该属性
注解可以加在属性上 也可以加在get()上面

表中没有某个字段 departmentName , 但是页面又要显示。此时,根据表生成的实体类,是不包含这个字段的,怎么破。。
这时候,可以使用注解 @Transient 。这个注解的意思是 该属性并非一个到数据库表的字段的映射。这里需要强调一下,既然数据库表中没有,那么使用的时候,就不用使用 @Column 注解了(不要编造一个没有的字段出来)。

用法举例如下:

// 部门名称

// @Transient 表示该属性并非一个到数据库表的字段的映射

@Transient

private String departmentName;

// 职位

@Column(name = “USER_POSITION”)

private String userPosition;

如上,职位字段,是数据库表字段的映射,使用了 @Column 注解;然而 departmentName 字段,数据库表中没有相应的字段,所以,直接使用 @Transient ,而不再使用 @Column 注解。

然后,就可以在sql 中查询这个字段,然后,把查询的对象返回到页面,通过属性,点出这个值来了。。。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!