1
00:00:00,180 --> 00:00:05,070
Bien, la idea de esa clase de reutilizar el porahí este método hace que lo vamos a implementar en la

2
00:00:05,070 --> 00:00:06,390
clase abstracta.

3
00:00:06,540 --> 00:00:14,870
Entonces por acá quitamos esto, quitamos esto y en vez de cliente es thé el tipo genérico concerté.

4
00:00:15,540 --> 00:00:23,310
Acá también te bueno, y donde diga cliente esté se fija perfecto, pero como un tipo genérico thé el

5
00:00:23,310 --> 00:00:24,620
método yeta.

6
00:00:24,630 --> 00:00:25,980
Y si no lo reconoce?

7
00:00:26,070 --> 00:00:29,370
Por supuesto, no es parte de un método en genérico.

8
00:00:29,520 --> 00:00:37,320
Entonces podríamos implementar una clase, por ejemplo, que se llame Base Entity y la colocamos acá

9
00:00:37,410 --> 00:00:44,070
en modelo y cliente hereda de base Entity que solamente va a tener el Heidy, el atributo Heidy con

10
00:00:44,070 --> 00:00:45,360
el método Set y yeta.

11
00:00:45,660 --> 00:00:52,440
Bien y por acá vamos a decir que té estiende de base entity, se fijan?

12
00:00:52,950 --> 00:00:58,440
Bueno, veamos entonces en modelo vamos a crear una clase de modelo genérica.

13
00:00:58,710 --> 00:01:04,230
Le podríamos llamar entidad genérica o o como queramos, pero que sea una clase base.

14
00:01:04,450 --> 00:01:10,350
Bueno, después vamos a ver que en persistencia cuando utilicemos por ejemplo y Vernet JPA también con

15
00:01:10,350 --> 00:01:16,530
JS esta clase que representan datos que están mapeado tablas, se reconoce como entidades o entity,

16
00:01:16,710 --> 00:01:17,970
pero que también son pocos.

17
00:01:18,060 --> 00:01:21,790
Son clases simple de Java, con atributos y todo hay que trascender.

18
00:01:21,900 --> 00:01:26,550
Entonces, a final de cuenta la idea crear una clase POJO genérica, el nombre que le queramos dar da

19
00:01:26,550 --> 00:01:31,770
lo mismo base Entity o entidad como queramos.

20
00:01:33,450 --> 00:01:34,110
Y qué va a tener?

21
00:01:34,200 --> 00:01:35,430
Bueno, veamos cliente.

22
00:01:36,830 --> 00:01:48,110
Voy a cortar el Heidy, lo voy a cortar tal cual lo dejamos acá, lo cambiamos a protected bien, volvemos

23
00:01:48,110 --> 00:01:52,490
al cliente, vamos a cortar también el static int último.

24
00:01:52,490 --> 00:01:59,090
Heidy Esto también lo vamos a cortar con el constructor y lo llevamos acá.

25
00:02:00,650 --> 00:02:10,670
Acá sería constructor base entity entonces va sentite me faltaría gue transceptor de Leidy, lo cortamos,

26
00:02:11,960 --> 00:02:12,710
lo llevamos acá.

27
00:02:12,860 --> 00:02:17,900
Es decir, todo lo que sea compartido con el resto que sería Leydi en común a cualquier entidad.

28
00:02:18,470 --> 00:02:21,110
No se preocupen del horror porque ya lo vamos a arreglar.

29
00:02:22,040 --> 00:02:33,010
Perfecto, acá extends base Entity Despejas prácticamente se solucionó casi todo acá en vez de 10 super.

30
00:02:33,590 --> 00:02:40,870
Es decir, de la clase padre invoca al constructor vacío de la clase padre que inicializa Leidy se fijan

31
00:02:41,180 --> 00:02:42,260
y estamos casi listo.

32
00:02:43,250 --> 00:02:45,980
Entonces tenemos el cliente todo solucionado.

33
00:02:46,280 --> 00:02:46,870
Super.

34
00:02:47,570 --> 00:02:49,640
Y todo lo que Heidy lo llevamos allá.

35
00:02:50,270 --> 00:02:54,590
Ahora, por ejemplo, si el atributo nombre fuera también en común, también lo podría bajar.

36
00:02:54,590 --> 00:02:59,840
Acá te dejan cualquier atributo en común a cualquier clase entity o de modelo.

37
00:03:00,200 --> 00:03:06,530
Lo dejamos en esta clase base con los atributo protecto para que lo podamos reutilizar dentro de la

38
00:03:06,530 --> 00:03:07,040
herencia.

39
00:03:07,160 --> 00:03:12,500
Esta acá privat por lo utilizamos solamente acá para incrementar el ayni y poder así dárselo a Leidy

40
00:03:12,510 --> 00:03:13,460
cuando se crea el objeto.

41
00:03:14,060 --> 00:03:17,000
Entonces acá tenemos que solucionar como dice Cadaith.

42
00:03:17,330 --> 00:03:19,070
Acá simplemente colocamos stents.

43
00:03:19,310 --> 00:03:24,230
Acá en abstracta list repositorio stents.

44
00:03:24,560 --> 00:03:30,620
Es decir, que cualquier clase de o de modelo o entity tiene que heredar de base entity.

45
00:03:31,310 --> 00:03:32,570
Entonces base Entity.

46
00:03:33,320 --> 00:03:35,870
Y con eso ya podemos utilizar los menos genérico.

47
00:03:35,960 --> 00:03:37,220
Se fija como el Heidy.

48
00:03:38,340 --> 00:03:43,170
Entonces ya podemos tener este método completamente funcional en la clase padre y nos vamos a la clase

49
00:03:43,170 --> 00:03:48,990
hija o implementada con el cliente cliente list repositorio.

50
00:03:50,140 --> 00:03:52,320
Y le quitamos ya no es necesario.

51
00:03:52,470 --> 00:03:53,940
Ya está en la clase, padre.

52
00:03:57,240 --> 00:03:57,960
Así de simple.

53
00:03:58,320 --> 00:04:00,090
Esto ya no se puede reutilizar más.

54
00:04:00,120 --> 00:04:00,690
Por qué?

55
00:04:00,990 --> 00:04:05,640
Bueno, son atributo, nombre, apellido, propios de cada clase, de cada entity.

56
00:04:06,240 --> 00:04:12,690
Y lo mismo para ordenar acá ordena por nombre, por apellido y así quizás otra entity o clase modelo

57
00:04:12,780 --> 00:04:13,960
a ordenar por otro campo.

58
00:04:14,130 --> 00:04:17,220
Entonces se tienen que implementar de forma más concreta.

59
00:04:18,060 --> 00:04:20,990
Se fija, pero reutilizados bastante acá.

60
00:04:21,900 --> 00:04:25,050
Por ahí crear, eliminar, listar total.

61
00:04:25,110 --> 00:04:30,450
Es decir, este método prácticamente nunca lo tendríamos que implementar en nuestra clase concreta de

62
00:04:30,450 --> 00:04:34,920
repositorio solamente para listo simplemente la reutilizados.

63
00:04:35,010 --> 00:04:36,060
Vamos a la clase ejemplo.

64
00:04:37,000 --> 00:04:39,910
Ejemplo Repositorio Se fijan, todo está perfecto.

65
00:04:42,280 --> 00:04:43,000
Levantamos.

66
00:04:45,250 --> 00:04:45,490
Bien.

67
00:04:45,790 --> 00:04:49,960
Y la siguiente clase vamos a implementar un nuevo repositorio, por ejemplo, para producto.

68
00:04:49,990 --> 00:04:54,430
Para que vean que se puede reutilizar de forma muy simple, muy fácil, pero bien.

69
00:04:54,520 --> 00:04:56,290
Nos vemos en la siguiente clase.
