Почему вы используете публичный интерфейс внутри сущности java db? - PullRequest
0 голосов
/ 19 ноября 2018

Я нашел этот фрагмент кода при просмотре других проектов, и мне было интересно узнать о преимуществах открытого интерфейса в java pojo.Почему вы должны использовать его, как показано в примере ниже.Рассмотренное ниже использование считается лучшей практикой?Есть ли уловка в использовании интерфейса, подобного этому?

@Data
@NoArgsConstructor
@Entity
@Table(name = "customer_mapping", schema = "billing")
public class CustomerMapping {
    public interface createCustomerMapping {
    }

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonProperty("customerMappingId")
private Integer id;

@Column(length=10)
@NotNull(groups = { createCustomerMapping.class })
@NotEmpty(groups = { createCustomerMapping.class })
@Size(groups = { createCustomerMapping.class }, min = 4, max = 4)
private String issuerCode;

@Column(length=10)
@NotNull(groups = { createCustomerMapping.class })
@NotEmpty(groups = { createCustomerMapping.class })
private String offerCode;

@NotNull
private Long customerId;

@CreationTimestamp
private LocalDateTime createdTs;

private String createdBy;

@UpdateTimestamp
private LocalDateTime updatedTs;

private String updatedBy;

public CustomerMapping(String offerCode) {
    this.offerCode = offerCode;
}

public CustomerMapping(String issuerCode, String offerCode) {
    this.issuerCode = issuerCode;
    this.offerCode = offerCode;
}

public CustomerMapping(String issuerCode, String offerCode, Long customerId) {
    this.issuerCode = issuerCode;
    this.offerCode = offerCode;
    this.customerId = customerId;
}
}

Из того, что я знаю, интерфейс используется для определения контракта, поэтому я знаком с реализацией использования его через библиотеку кода или, еслидве команды должны сотрудничать.Но в приведенном выше примере мне неясно.

...