users@glassfish.java.net

Problem with two atributes of the same Enum type in a entity.

From: <glassfish_at_javadesktop.org>
Date: Wed, 23 Jul 2008 17:33:47 PDT

Hi,

I'm developing an application using JPA/TopLink and I have this situation:
I have an Enumeration named "Escolaridade", like this:

public enum Escolaridade implements Serializable {
    ANALFABETO("Analfabeto"),
    ANALFABETO_FUNCIONAL("Analfabeto Funcional"),
    PRIMEIRO_GRAU_INCOMPLETO("Primeiro Grau Incompleto"),
    PRIMEIRO_GRAU("Primeiro Grau"),
    SEGUNDO_GRAU_INCOMPLETO("Segundo Grau Incompleto"),
    SEGUNDO_GRAU("Segundo Grau"),
    SUPERIOR_INCOMPLETO("Superior Incompleto"),
    SUPERIOR("Superior"),
    POS_GRADUADO("Pós-Graduado");

    Escolaridade(String descricao) {
        this.descricao = descricao;
    }
    
    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }
    
    private String descricao;
}




and I have a class named "Student", like this:

public class Student implements java.io.serializable {

@Enumerated
    @Column
    public Escolaridade getEscolaridadeMae() {
        return escolaridadeMae;
    }

    public void setEscolaridadeMae(Escolaridade escolaridadeMae) {
        this.escolaridadeMae = escolaridadeMae;
    }
    
    @Enumerated
    @Column
    public Escolaridade getEscolaridadePai() {
        return escolaridadeMae;
    }

    public void setEscolaridadePai(Escolaridade escolaridadePai) {
        this.escolaridadePai = escolaridadePai;
    }

    private Escolaridade escolaridadePai;
    private Escolaridade escolaridadeMae;
    private String otherAtributes;
}


Supose that on objct of my class "Student" have the "escolaridadePai" with an ordinal value of 3 and "escolaridadeMae" an ordinal value of 5. Well, when I try to persiste or merge this entity the value inserted or updated in my database is the SAME for both the atributes. Is like the persistence layer consider just one of this enum values and apply this one value for the two differente atributes.

Someone have allready seen this?
How can I resolve this?

Tank's a lot
[Message sent by forum member 'rodrigobela' (rodrigobela)]

http://forums.java.net/jive/thread.jspa?messageID=288867