O erro abaixo ocorre quando tento inserir um novo registro na tabela. Essa tabela possui duas chaves primárias, sendo uma delas um sequencial.
No sql gerado do insert ele adiciona o campo AGE024_SERVICE_TYPE_K no insert, o que em teoria está errado. A questão é porque ele adiciona o camo no insert sendo que o mesmo está mapeado.
O mapeamento está sendo feito da seguinte forma:
Classe ID
@Embeddable
public class ServiceTypeId implements Serializable {
@ManyToOne(cascade= {CascadeType.PERSIST, CascadeType.MERGE}, fetch=FetchType.LAZY)
@JoinColumn(name="AGE024_AGE901_DIVISION_K")
private Division division;
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="AGE024_SERVICE_TYPE_K")
private Integer id;
Entity
@Entity
@Table(name="MAGE024_SERVICE_TYPE")
@SuppressWarnings("serial")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class ServiceType implements Serializable {
@EmbeddedId
private ServiceTypeId id;
“Cannot insert explicit value for identity column in table ‘MAGE024_SERVICE_TYPE’ when IDENTITY_INSERT is set to OFF”