注解...
注解
Mybatis plus @TableName实体中添加非数据库字段报错,如增加请在字段上加注解 @TableField(exist = false)
@Transient
@Transient的作用是指定该属性或字段不是永久的。 它用于注释实体类,映射超类或可嵌入类的属性或字段。
它既可以写在属性的上面,也可以写在属性get方法的上面。
在实际的使用过程中,如果属性没有get方法。下面这种写法是没有问题的。数据库表中不会有test字段。
@Transient private String test;
如果有get方法,就要把@Transient注解写到get方法上面,下面这种写法也是没有问题的。
private String test; @Transient public String getTest() { return test; } public void setTest(String test) { this.test = test; }
但是如果test属性有get方法,你又把@Transient写在了属性上面,数据库表中就会新增一个字段。
以类作为属性的@Transient使用。
private MemberConfig memberConfig; @Transient public MemberConfig getMemberConfig() { MemberConfig memberConfig = new MemberConfig(getAttr()); return memberConfig; } public void setMemberConfig(MemberConfig memberConfig) { this.getAttr().putAll(memberConfig.getAttr()); }
当然private MemberConfig memberConfig;其实是没有用的,不写也可以。
(https://blog.csdn.net/OrangQceee/article/details/80446441)
加在属性声明上,
1 serialization会被忽略掉
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。
为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient
2 不跟数据库表做映射 就是表中没有这个字段
@Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性.
在项目查了下,mongodb中确实没有此字段,因此也适用于mongodb

浙公网安备 33010602011771号