我使用Lombok删除样板代码。我试图打印出一个实体到控制台,但我得到了一个StackOverflow错误。该实体与另一个实体具有双向关系,因此我想从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。排除
,它似乎没有行为。我用错了吗?当我在Foo对象上调用toString时,我只想打印出foId
和name
。
编辑
我熟悉从顶层@ToString
注释中排除或包含字段的替代方法。我正试图避免这种情况。我只想在类级别使用@Data
,并注释应该排除的字段。
编辑2
仍在简化类上复制。Lombok版本1.18.8。
您必须更新eclipse中安装的lombok(下载新的lombok.jar,运行java-jar lombok.jar
并重新启动eclipse)。至少这为我解决了问题。
@ToString
接受一个参数exclude
,该参数可用于将字段从字符串中排除。
@ToString(exclude={“bar”})
@Entity
@ToString(exclude = {"bar"})
public class Foo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long fooId;
private String name;
@ManyToOne
@JoinColumn(name = "barId")
@EqualsAndHashCode.Exclude
private Bar bar;
}
对我有用<代码>龙目岛:1.18.8
import lombok.Data;
import lombok.ToString;
@Data
public class MyClass {
public static void main(String args[]) {
MyClass myClass = new MyClass();
System.out.println("ToString::" + myClass);
}
private String a = "ABC";
@ToString.Exclude
private String b = "DEF";
}
输出:ToString::MyClass(a=ABC)
我有这个POJO 如何从对象员工打印只是ID?我不想打印整个对象雇员,只是一个字段。 非常感谢。
Lombok项目的类注释,ToString,用于在其注释的类内自动生成一个ToString()方法。 对于这个类: 调用生成的toString()方法将生成以下输出: 注释的可选元素可用于包含或排除特定字段,但我想知道的是... 可能类似于:
我创建了一个基于Maven的spring引导项目来探索如何使其在Websphere Application Server上运行。这是我需要排除spring-boot-starter-web的嵌入式Tomcat的方法。 我试过以下几件事: 为spring-boot-starter-tomcat添加了一个新的依赖项,其作用域为:provided(请参见在部署到JBOSS[spring-boot])时从
问题内容: 我已经测试了elasticsearch突出显示字段功能,并且工作正常。我使用了 elasticsearch2.4.4 和 spring-data- elasticsearch-2.0.0.RELEASE 我最近将 elasticsearch 升级到 5.5.0 和 spring-data-elasticsearch-3.0.0.M4 当我测试相同的代码时,突出显示不会发生 下面是示例代
我需要bootstrap vue表中的帮助,如果im筛选字段,正在工作,但是如果im筛选,不起作用 表代码: 这是我的领域 这是我的会员。数据
我正在尝试使用龙目岛和MapStruct配置SpringBoot(v2.6.2),已经配置了maven编译器插件和龙目岛地图结构绑定(注释处理器路径),但龙目岛类尚未创建: pom.xml 尝试使用DI时总是出现未初始化变量错误: 变量xxxx可能尚未初始化