Der Typ-Klasse " * " wurde nicht verbessert JPA Ausnahme

Ich bin mit WebSphere v8, und mit JPA-Persistenz in Java-EE-6-Umgebung.

Beim Versuch zum ausführen von code, der sich mit einer bestimmten Person, ich in dieser Ausnahme:

javax.ejb.EJBTransactionRolledbackException: nested exception is: javax.ejb.EJBTransactionRolledbackException: nested exception is: javax.ejb.EJBException: Siehe verschachtelte Ausnahme; nested exception is: org.apache.openjpa.die Persistenz.ArgumentException: Der Typ "Klasse au.com.kombinierte.domain.changeroutine.ChangeRoutineConsumedPK" wurde nicht verbessert.

Jedoch dieser Artikel sagt, dass meine Klassen sollten schon verbessert werden zur Laufzeit. ChangeRoutineConsumedPK ist ein Embeddable Klasse. Könnte jemand einen Blick auf meine Klasse und mir sagen was ich falsch mache? danke.

ChangeRoutineConsumed:

@Entity
@Table(name = ChangeRoutineConsumed.TABLE_NAME)
public class ChangeRoutineConsumed extends BaseBusinessObject {

    public static final String TABLE_NAME = "COCHANGEROUTINECONSUMED";

    @EmbeddedId
    private ChangeRoutineConsumedPK id;

    protected ChangeRoutineConsumed() {
        super();
    }

    public ChangeRoutineConsumed(@Min(1) long changeRoutineId, @NotNull String consumedBy){
        this(new ChangeRoutineConsumedPK(changeRoutineId, consumedBy));
    }

    public ChangeRoutineConsumed(@NotNull ChangeRoutineConsumedPK id){
        super();
        setId(id);
    }
    ...
    public int hashCode(){...};
    public boolean equals(Object obj){...}
}

ChangeRoutineConsumedPK:

@Embeddable
public class ChangeRoutineConsumedPK {

    @Column
    private long changeRoutineId;
    @Column
    private String consumedBy;

    public ChangeRoutineConsumedPK(){}

    public ChangeRoutineConsumedPK(long changeRoutineId, String consumedBy) {
        setChangeRoutineId(changeRoutineId);
        setConsumedBy(consumedBy);
    }
    ...

    public int hashCode() {...}
    public boolean equals(Object obj) {...}
}
  • auch passiert es, wenn es keine @Embeddable in JPA key
InformationsquelleAutor coderatchet | 2013-09-27
Schreibe einen Kommentar