Menu

#672 Problema con clase @Embeddable y propiedad Enum de tipo @Required

v5.6.1
closed
nobody
None
5
2017-01-23
2016-06-27
Sergio Coll
No

Referencia: https://sourceforge.net/p/openxava/discussion/437013/thread/b998ce0a/#b69b

Pasos:

1) Doy de alta una transacción.
2) asigno el número.
3) Al intentar grabar una transacción sin items, arrojar el error: "Es obligado que Código en Item tenga valor"
El problema es que ya creo un item y lo toma como valido porque la propiedad Tipo ya tiene un valor.
4) Creo un item y asigno el campo código.
5) Intento grabar y nuevamente arroja el mismo error.
Nuevamente, al asignar el campo código ya crea otro item y lo toma como válido el enum Tipo tiene un valor.

Si en la clase Item, a la propiedad Tipo (enum) le quitó la opción de required, no hay problema

Código:

// Clase enum
package org.openxava.test.model;
public enum MiEnum {
EnumA, EnumB, EnumC
}

// Clase Transaccion
@Entity
public class Transaccion {
@Id
private int numero;

public int getNumero() {
    return numero;
}
public void setNumero(int numero) {
    this.numero = numero;
}

@ElementCollection
@ListProperties("codigo, tipo")
private Collection<Item> items;
public Collection<Item> getItems() {
    return items;
}
public void setItems(Collection<Item> items) {
    this.items = items;
}

}

// Clase Item
@Embeddable
public class Item {

@Column(length=20) @Required
private String codigo;
public String getCodigo() {
    return codigo;
}
public void setCodigo(String codigo) {
    this.codigo = codigo;
}

@Required
private MiEnum tipo;
public MiEnum getTipo() {
return tipo;
}
public void setTipo(MiEnum tipo) {
this.tipo = tipo;
}
}

Discussion

  • Miguel

    Miguel - 2016-10-28

    Aporto otro ejemplo por si ayuda a la resolución.

    El error está en tener una colección incrustada con una enumeración obligatoria.

    El ejemplo nuevo está en
    https://sourceforge.net/p/openxava/discussion/437013/thread/fcb0c5d5/

     
  • Javier Paniza

    Javier Paniza - 2017-01-23
    • status: open --> closed
    • Group: Not planned --> v5.6.1
     

Log in to post a comment.

MongoDB Logo MongoDB