Menu

Crear correlativo automático requerido como clave primaria error

2014-01-26
2014-03-21
  • Jaime Almeida

    Jaime Almeida - 2014-01-26

    Estoy intentando crear un correlativo que se incrementa al grabar registro nuevo @Prepersist , ok he comprobado que busca el ultimo y suma pero como esta requerido como clave @Id da error porque requiere dato. lo comprobé creando con la rutina otro correlativo como clave y a este campo le quite el requerido y lo condiciono como @Readonly y lo hace. No he conseguido la manera de burlar el requerido del @Id.

     
  • Antonio Alejandro García Mira

    Hola.
    Yo me encontré con el mismo caso. En vez de tener como ID un oid, yo también uso un entero. La solución que encontré fue inicializar ese valor id con -1. Para mi lógica de negocio, un registro con id -1 quiere decir que no se ha persistido aún. De esta forma, valida la entidad (ya que tiene valor) y te deja pasar al @PrePersist donde lo inicializas. Si en algún momento quieres comprobar si ya ha sido persistido, pues compruebas si el id es distinto de -1.
    Esa fue la forma que encontré de solucionarlo. No sé si habrá alguna mejor.
    Saludos.

     
  • Jaime Almeida

    Jaime Almeida - 2014-01-29

    Gracias Antonio voy a probar y te aviso. Gracias por contestar !!!!

     
  • Jaime Almeida

    Jaime Almeida - 2014-03-20

    Caramba Antonio he buscado y buscado y no he encontrado como inicializar una propiedad ejm: @Id int codigo @ReadOnly como mencionaste (inicializar el valor de la propiedad con -1 para engañar el requerido y poder incrementarlo como correlativo ) , con @Prepersist .
    me imagino que es muy facil pero estoy iniciandome apenas en java, disculpen esta ignorancia y las que vienen. Si alguien lo ha hecho por favor comunicarmelo. Gracias !!!!
    Es algo que he hecho mucho que los codigos sean correlativos para facilitar la manipulacion del usuario.

     
  • Jaime Almeida

    Jaime Almeida - 2014-03-21

    Bueno de tanto buscar lo hice con @DefaultValueCalculator existe otra IDENTITY pero me resulta la primera. debido que yo controlo la secuencia correlativa. !!!!!

     

Log in to post a comment.