Я использую Lombok для удаления стандартного кода.Я пытаюсь распечатать сущность на консоль, но получаю StackOverflowError.У сущности есть двунаправленная связь с другой сущностью, поэтому я хочу исключить эту сущность из метода toString.
Моя сущность выглядит следующим образом:
@Entity
@Data
public class Foo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long fooId;
private String name;
@ManyToOne
@JoinColumn(name = "barId")
@EqualsAndHashCode.Exclude
@ToString.Exclude
private Bar bar;
}
Это моя первая попыткаиспользуйте @ToString.Exclude
, и это не похоже на поведение.Я использую это неправильно?Я просто хочу распечатать fooId
и name
, когда я вызываю toString для объекта Foo.
Редактировать
Я знаком с альтернативными подходами к исключениюили включая поля из аннотации @ToString
верхнего уровня.Я пытаюсь избежать этого.Я просто хочу использовать @Data
на уровне класса и аннотировать поля, которые должны быть исключены.
Редактировать 2
Все еще реплицировать в упрощенном классе.Ломбок версия 1.18.8.