Встраиваемый класс со стратегией @GenericGenerator - PullRequest
0 голосов
/ 08 мая 2020

У меня есть составной ключ с двумя полями, и одно из этих полей использует стратегию @GenericGenerator:

@Embeddable
public class CpoPipelineId implements java.io.Serializable {

    private static final long serialVersionUID = -8801983547876070377L;
    private String pipelineId;
    private String environmentId;

    @GeneratedValue(generator = "pipeline_seq_generator")
    @GenericGenerator(name = "pipeline_seq_generator", strategy = "com...model.StringPrefixedSequenceIdGenerator", parameters = {
            @Parameter(name = StringPrefixedSequenceIdGenerator.INCREMENT_PARAM, value = "50"),
            @Parameter(name = StringPrefixedSequenceIdGenerator.VALUE_PREFIX_PARAMETER, value = "PIP_") })
    @Column(name = "pipeline_id", nullable = false, length = 100)
    public String getPipelineId() {
        return this.pipelineId;
    }

    @Column(name = "environment_id", nullable = false, length = 100)
    public String getEnvironmentId() {
        return this.environmentId;
    }

Класс, который использует этот pk:

@Entity
@Table(name = "cpo_pipeline", catalog = "xpto")
public class CpoPipeline implements java.io.Serializable {

    @EmbeddedId
    @AttributeOverrides({
            @AttributeOverride(name = "pipelineId", column = @Column(name = "pipeline_id", nullable = false, length = 100)),
            @AttributeOverride(name = "environmentId", column = @Column(name = "environment_id", nullable = false, length = 100)) })
    public CpoPipelineId getId() {
        return this.id;
    }

Ошибка : org.hibernate.id.IdentifierGenerationException: нулевой идентификатор, созданный для: class com.closeupinternational.cpoprocessregistry.model.CpoPipeline

Как я могу использовать @EmbeddedId с одним из полей, созданных с использованием стратегии @GenericGenerator ? Я не могу использовать последовательность и даже идентичность.

...