Error in EmbeddedId

0

I have the composite key below, the problem is that when creating schema and saving the values, Hibernate is inverting the values of TipoContrato with Distribuidora and vice versa. Has anyone had a similar anomaly using embeddedid ?

@Embeddable
public class IdentificadorUnidadeConsumidoraId implements Serializable {

private static final long serialVersionUID = -8961508936592415161L;

/*
 * Além do idUnidade herdado, este identificador é informado pela
 * Distribuidora, único, mas não pode ser alterado.
 */
@Index(name = "IDX_IDENTUNIDADECONSUMIDORA_CODUNIDADECONSUMIDORA", columnNames = "CODUNIDADECONSUMIDORA")
@Column(name = "CODUNIDADECONSUMIDORA", length = 20, nullable = false)
private String codUnidadeConsumidora;

@Enumerated(EnumType.ORDINAL)
@Column(name = "TIPOCONTRATO", length = 20)
private TipoContrato tipoContrato;

@ManyToOne
@JoinColumn(name = "IDDISTRIBUIDORA")
private Distribuidora distribuidora;
    
asked by anonymous 30.09.2014 / 22:37

1 answer

1
Problema resolvido,

the order of joinColumns was interfering with the insertion and creation of columns as FK

Reversing: public abstract class Contract {

@OneToOne
    @JoinColumns(value = { @JoinColumn(name = "CODUNIDADECONSUMIDORA"),
            @JoinColumn(name = "TIPOCONTRATO"),
            @JoinColumn(name = "IDDISTRIBUIDORA") })
    private IdentificadorUnidadeConsumidora identificador;


}

TO:

public abstract class Contrato{

@OneToOne
    @JoinColumns(value = { @JoinColumn(name = "CODUNIDADECONSUMIDORA"),
            @JoinColumn(name = "IDDISTRIBUIDORA"),
            @JoinColumn(name = "TIPOCONTRATO"),})
    private IdentificadorUnidadeConsumidora identificador;
}

Does anyone know why this order interferes? does it make any sense?

    
01.10.2014 / 15:11