Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] - Crear clase padre para entidades que utilizan identificacion #44

Open
1 of 7 tasks
gacsnic opened this issue Jun 14, 2020 · 3 comments · Fixed by #45
Open
1 of 7 tasks

[FEATURE] - Crear clase padre para entidades que utilizan identificacion #44

gacsnic opened this issue Jun 14, 2020 · 3 comments · Fixed by #45
Assignees
Labels
task Indica la necesidad de mejoras específicas que son más pequeñas

Comments

@gacsnic
Copy link
Collaborator

gacsnic commented Jun 14, 2020

** Describe la solución que deseas **
Crear una clase padre que proporcione el identificador de registro en cada entidad, aprovechando la característica de herencia de la POO.

** Describe alternativas que hayas considerado **
Actualmente cada entidad posee su propia propiedad de identificador.

** Contexto adicional **

public abstract class Identificador<T>{
      protected T id;
...
getId()
setId() 
}

public class usuario extends Identificador<Integer>{
....
...
}
public class cuenta extends Identificador<Integer>{
....
...
}


** Criterios de aceptación (hay que ver si alguna de ellas son necesarias) **

  • Pruebas Unitarias.
  • Pruebas de Integración
  • Pruebas de Aceptación
  • Pruebas de Carga y Perfil
  • Evidencias
  • Peer Review con Diseño
  • Peer Review con Líder Técnico
@gacsnic gacsnic added the task Indica la necesidad de mejoras específicas que son más pequeñas label Jun 14, 2020
@gacsnic gacsnic self-assigned this Jun 14, 2020
@gacsnic gacsnic linked a pull request Jun 14, 2020 that will close this issue
@gacsnic gacsnic changed the title [FEATURE] - Crear clase padre para entidades para identificacion [FEATURE] - Crear clase padre para entidades que utilizan identificacion Jun 18, 2020
@gacsnic
Copy link
Collaborator Author

gacsnic commented Jun 18, 2020

Este feature, esta considerado tomando de referencias buenas practica planteadas en el webinar https://www.youtube.com/watch?v=WJhD_B3huEY&t=2201s , en los minutos 38:00 y 48:10.
se implementa un id en dato Byte en la identidad tipo de cuenta ya que esa tabla no almacenara mas de 100 registros y con el tipo de datos Byte podemos llegar hasta el id 127, lo que nos ahoraria memoria al momento de requerir información de esa tabla. ver minutos 12:00y 28:00 del video anterior.
para la identidad Tipo de Cuenta se cambiara la estrategia de autoincrementar a GenerationType.IDENTITY, para poder aprovechar el tipo de datos Byte.

@berroteran
Copy link
Member

ok, tiene avances con esto?

@berroteran berroteran changed the title [FEATURE] - Crear clase padre para entidades que utilizan identificacion 44 [FEATURE] - Crear clase padre para entidades que utilizan identificacion Jun 30, 2020
@luchonetvv luchonetvv changed the title 44 [FEATURE] - Crear clase padre para entidades que utilizan identificacion [FEATURE] - Crear clase padre para entidades que utilizan identificacion Jun 30, 2020
@gacsnic
Copy link
Collaborator Author

gacsnic commented Jul 4, 2020

ok, tiene avances con esto?

Falta definir la estrategia, recomiendo utilicemos de secuencia:

Para los catalogos(CuentaTipo,Cuenta,...)
@SequenceGenerator(name = "sequence")

Para comprobante
@SequenceGenerator(name="default_gen", sequenceName = "comprobante_sequence")

De optar por la estrategia AUTO:
Para los catalogos(CuentaTipo,Cuenta,...)
@GeneratedValue(strategy = GenerationType.AUTO)

Para comprobante
@GeneratedValue(strategy = GenerationType.AUTO , generator="default_gen")

Enlace de referencia
https://thorben-janssen.com/jpa-generate-primary-keys/
https://thorben-janssen.com/hibernate-tips-use-custom-sequence/
https://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#entity-mapping-identifier
https://vladmihalcea.com/why-should-not-use-the-auto-jpa-generationtype-with-mysql-and-hibernate/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
task Indica la necesidad de mejoras específicas que son más pequeñas
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants