Я начинаю работать с Quarkus и пытаюсь использовать перечисление в своей сущности, но продолжаю получать эту ошибку:
[ERROR] ~/ConnectorFormatEnum.java:[10,12] constructor ConnectorFormatEnum in enum *.ConnectorFormatEnum cannot be applied to given types;
[ERROR] required: no arguments
[ERROR] found: java.lang.String,boolean
[ERROR] reason: actual and formal argument lists differ in length
Вот мой класс перечисления:
@RequiredArgsConstructor
public enum ConnectorFormatEnum {
SOCKET("SOCKET",true),
CABLE("CABLE",true),
UNKNOWN(null,false);
private final String value;
private final Boolean ocpi;
@JsonValue
public String getValue() {
return value;
}
}
И вот моя сущность, где я хочу использовать перечисление:
@Data
@Entity
@Table(schema = "ocpi_locations", name = "connector")
public class ConnectorEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_connector")
private Long id;
@Column(name = "internal", nullable = false, insertable = true, updatable = false)
private String internal;
@Column(name = "id", length=36)
private String idConnector;
@Enumerated(EnumType.STRING)
@Type(type = "pgsql_enum")
@Column(name = "format")
private ConnectorFormatEnum format = ConnectorFormatEnum.UNKNOWN;
@Column(name = "voltage")
private Integer voltage;
@Column(name = "amperage")
private Integer amperage;
@Column(name = "terms_and_conditions")
private String termsAndConditions;
@CreationTimestamp
@Column(updatable = false)
private Instant createdAt;
@UpdateTimestamp
@Column(name = "updated_at", nullable = false, insertable = false )
private Instant lastUpdated;
@UpdateTimestamp
@Column(name = "deleted_at", nullable = false, insertable = false )
private Instant deletedAt;
}
У меня также есть другие перечисления в моем проекте, которые я пытаюсь использовать с другими объектами, но я получаю одну и ту же ошибку для всех из них, я делаю что-то не так?




Согласно stacktrace, я считаю, что в Enum вам не хватает только конструктора:
@RequiredArgsConstructor
public enum ConnectorFormatEnum {
SOCKET("SOCKET",true),
CABLE("CABLE",true),
UNKNOWN(null,false);
private final String value;
private final Boolean ocpi;
// Add this constructor
private ConnectorFormatEnum(String value, boolean ocpi) {
this.value = value;
this.ocpi = ocpi;
}
@JsonValue
public String getValue() {
return value;
}
}