de donde viene el tema system-uuid y uuid2 es decir no entiendo por que poner eso es un estándar o existen mas variables

Yeferson Nova

Yeferson Nova

Pregunta
student
hace 7 años

de donde viene el tema system-uuid y uuid2 es decir no entiendo por que poner eso es un estándar o existen mas variables

4 respuestas
    Ramón José París González

    Ramón José París González

    student
    hace 7 años

    Hola! El UUID es un Identificador Único Universal que utilizan los sistemas operativos para identificar sus componentes internamente. Acá lo que se indica es que el id se genere en base a ese identificador. Más detalles de cómo funciona este UUID en los Sistemas Operativos acá.

    La intención de esas anotaciones es generar un id único para cada objeto que se vaya a almacenar en la base de datos. Hay distintas maneras de generar este autoincremento del id. Se puede:

    • Generar con únicamente JPA. Se utiliza la anotación @GeneratedValue y este utiliza diferentes estrategias para generar el id. Más detalles acá. A mi particularmente me gusta utilizar esta anotación:
    @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id;

    Este le permite al framework decidir qué tipo de generación es más conveniente según la base de datos a utilizar.

    • A través de JPA y Hibernate. Si bien es cierto que JPA nos provee una herramienta para realizar el autoincremento, hibernate la complementa con más estrategias. Lo que se realizó en el video fue, básicamente, decirle a JPA que utilizaremos un
      generator
      diferente. Luego, en la anotación
      @GenericGenerator
      , indicamos el nombre de ese generator (debe hacer match con el nombre indicado en
      @GeneratedValue
      , es decir, lo ingresado en generator y name no es obligatoriamente system-uuid. Es solo con el objetivo de identificar que ese GeneratedValue va de la mano con ese GenericGenerator). Luego de esto queda indicar qué estrategia de generación se quiere 😃. Hibernate tiene varias estrategias! Puedes googler y compartir las que te parezcan interesantes 😄
    Ramón José París González

    Ramón José París González

    student
    hace 7 años

    BTW, más ejemplos de cómo se usa GeneratedValue y GenericGenerator acá

    Marco Antonio Toscano Freire

    Marco Antonio Toscano Freire

    teacher
    hace 7 años

    Estimado ynovaa es un mecanismo para generar la clave primaria, puedes utilizar este o algún otro. Acá te dejo un enlace donde puedes revisar más al respecto.

    Juan Manuel Alberto Martin

    Juan Manuel Alberto Martin

    student
    hace 7 años

    Gracias por la pregunta!!! y gracias por la respuesta :) Buen aporte.

Curso de Hibernate y Java Spring

Curso de Hibernate y Java Spring

Crear aplicaciones intuitivas comienza con un desarrollo ágil y eficiente. ¿Sabías que con Hibernate y Java Spring puedes optimizar procesos entre apps y bases de datos, o evitar acciones repetitivas, como escribir varias veces la mismas líneas de código? Ahora tendrás tiempo para hacer más de lo que te gusta: ¡nunca parar de aprender con Platzi!

Curso de Hibernate y Java Spring
Curso de Hibernate y Java Spring

Curso de Hibernate y Java Spring

Crear aplicaciones intuitivas comienza con un desarrollo ágil y eficiente. ¿Sabías que con Hibernate y Java Spring puedes optimizar procesos entre apps y bases de datos, o evitar acciones repetitivas, como escribir varias veces la mismas líneas de código? Ahora tendrás tiempo para hacer más de lo que te gusta: ¡nunca parar de aprender con Platzi!