在使用@ManyToMany注解的时候,在输出实体类时,出现了java.lang.StackOverflowError报错,这个是因为在实体类中,使用了@Data
注解,@Data
注解中的@ToString
会导致java.lang.StackOverflowError
此时需要将手动重写ToString方法,改写如下(不能包含ManyToMany属性):
@Entity
@Data
@Table(name = "sys_role")
public class Role {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "role_id")
private Long roleId;
@Column(name = "role_name")
private String roleName;
//配置多对多
@ManyToMany(mappedBy = "roles") //配置多表关系
private Set<User> users = new HashSet<>();
@Override
public String toString() {
return "Role{" +
"roleId=" + roleId +
", roleName='" + roleName + '\'' +
'}';
}
}