生成getter和setter块数据库
@Data至关于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集。ide
经过官方文档,能够得知,当使用@Data注解时,则有了@EqualsAndHashCode注解,那么就会在此类中存在equals(Object other) 和 hashCode()方法,且不会使用父类的属性,这就致使了可能的问题。
好比,有多个类有相同的部分属性,把它们定义到父类中,刚好id(数据库主键)也在父类中,那么就会存在部分对象在比较时,它们并不相等,却由于lombok自动生成的equals(Object other) 和 hashCode()方法断定为相等,从而致使出错。ui
修复此问题的方法很简单:code
把全部属性都写到字符里返回对象
[@Entity]
必须与@Id注解 结合使用
不然 No identifier specified for entity:
name 属性
(可选)实体名称。 缺省为实体类的非限定名称。
该名称用于引用查询中的实体。
该名称不能是Java持久性查询语言中的保留字面值。ci
不与@Table结合的话 表名 默认为 SnakeCaseStrategy(命名策略 )为表名
若使用 name属性 且没有与@Table结合 则表名为 name值的SnakeCaseStrategy(命名策略 )
例如:文档
@Entity public class UserEntity{...} 表名 user_entity @Entity(name="UE") public class UserEntity{...} 表名 ue @Entity(name="UsEntity") public class UserEntity{...} 表名 us_entity