У меня есть что-то вроде родительского класса (File A.java
).
Каждый класс расширяет этот класс, так как каждому классу нужен name
.
Когда я использую в File X.java
функцию @With
, она работает для .withDescription("xxx")
, которая является частью File B.java
.
Но невозможно использовать функцию @With
с .withName("xxx");
По крайней мере, IntelliJ не показывает .withName("xxx")
.
Но унаследованный .setName("xxx")
работает как положено.
Любая идея, как заставить это работать, как ожидалось? Я видел этот ответ, чтобы использовать @SuperBuilder
, но я хотел сделать это без @Builer
/@SuperBuilder
Файл A.java
@Getter
@Setter
@With
@MappedSuperclass
public class A {
public String name;
}
Файл B.java
@Getter
@Setter
@With
@AllArgsConstructor
@NoArgsConstructor
@Entity
public class B extends A {
public String description;
}
Файл X.java
public class X {
public void x() {
var b = new B().withDescription("xxx"); // it works
b.withName("xxx"); // is NOT working.
b.setName("xxx"); // only set is working, even it's only inherited.
}