@MappedSuperclass
1.@MappedSuperclass注解使用在父类上面,是用来标识父类的
2.@MappedSuperclass标识的类表示其不能映射到数据库表,因为其不是一个完整的实体类,但是它所拥有的属性能够隐射在其子类对用的数据库表中
3.@MappedSuperclass标识得嘞不能再有@Entity或@Table注解
Lombok
@NoArgsConstructor: 自动生成无参数构造函数。
@AllArgsConstructor: 自动生成全参数构造函数。
@Data: 自动为所有字段添加@ToString, @EqualsAndHashCode, @Getter方法,为非final字段添加@Setter,和@RequiredArgsConstructor
@builder(lombok中的注解)
builder注解在实际编译后会按照build(建造者)模式去生成标准实现的代码,因此这个的好处其实就是建造者模式的好处了,lombok插件通过这样一个注解来方便大家直接使用建造者模式去生成一个实例,对于复杂的对象,不需要每个字段挨个set一遍,代码写下来看起来都方便很多
@toString(lombok中的注解)
生成toString()方法,默认情况下,它会按顺序(以逗号分隔)打印你的类名称以及每个字段。 可以这样设置不包含哪些字段@ToString(exclude = "id") / @ToString(exclude = {"id","name"}) 如果继承的有父类的话,可以设置callSuper 让其调用父类的toString()方法,例如:@ToString(callSuper = true)