首页 > 解决方案 > 有没有办法从@EqualsAndHashCode 中排除除@Id 列之外的所有字段

问题描述

从我的域/Pojo 中,我想排除除@EmbeddedIdor之外的所有字段@Id

排除它们的一种方法是@Exclude在所有字段上使用,我想知道是否还有另一种简短的方法?

例如

@Entity(name = "TestView")
@Table(name = "Test_View")
@Data
@EqualsAndHashCode(callSuper = false)
public class TestView implements Serializable {

    private static final long serialVersionUID = -9181710663858694093L;

    @Id
    @Column(name = "PRCL_SEQ_NUM")
    private Integer prclSeqNum;

    @Exclude
    @Column(name = "CMPS_TAKE_ACQ_VAL")
    private String takeAcq;

    @Exclude
    @Column(name = "REMND_ACQ_IND")
    private String remndAcqInd;
}

标签: lombok

解决方案


在类上使用@EqualsAndHashCode(onlyExplicitlyIncluded = true),然后@EqualsAndHashCode.Include在要包含的字段上使用。


推荐阅读