1
00:00:00,270 --> 00:00:04,290
Bien, continuamos con la clase Entity, pero primero tenemos que crear nuestro РАМКАХ.

2
00:00:04,380 --> 00:00:06,660
Nos vamos al Paquet principal.

3
00:00:06,750 --> 00:00:11,640
Recuerden que todos los РАМКАХ y todas las clases de nuestro proyecto siempre tienen que estar dentro

4
00:00:11,730 --> 00:00:16,420
del base donde se encuentra la clase anotada con Spring Boot apliqué hecho.

5
00:00:16,860 --> 00:00:20,040
Entonces por este package vamos a crear otro package.

6
00:00:23,940 --> 00:00:28,030
Punto Models, punto Entity, perfecto.

7
00:00:28,110 --> 00:00:29,010
Finalizamos.

8
00:00:29,130 --> 00:00:32,070
Acá tenemos el paquete, vamos a crear nuestra clase.

9
00:00:33,890 --> 00:00:40,640
Que va a estar más pegada a la tabla, una clase de JPA, un entity cliente, finalizamos.

10
00:00:42,250 --> 00:00:48,910
Bien, lo primero para indicar que una clase POJO, con atributos y metodos getter y setter que está

11
00:00:48,910 --> 00:00:52,330
mapeado una tabla es una entidad de JPA o Internet.

12
00:00:52,420 --> 00:00:57,910
Tenemos que anotar decorar con Entity el lo primero vamos a importar.

13
00:00:59,000 --> 00:01:00,660
De yaks persistencia.

14
00:01:01,910 --> 00:01:04,700
Siempre importamos de Java, de Java.

15
00:01:04,920 --> 00:01:11,420
Persistencia Bien, lo segundo, y esto es opcional porque se puede omitir si queremos que nuestra clase

16
00:01:11,420 --> 00:01:14,660
Entity se llame exactamente igual que la tabla.

17
00:01:14,750 --> 00:01:18,260
En la Ayato omitimos la configuración del nombre de la tabla.

18
00:01:18,410 --> 00:01:26,450
Omitimos la anotación table o table que para configurar el nombre de la tabla importamos table o table.

19
00:01:28,010 --> 00:01:30,860
Con los paréntesis indicamos el name.

20
00:01:30,920 --> 00:01:33,770
También podemos indicar el esquema, el catálogo.

21
00:01:36,770 --> 00:01:41,750
Vamos a colocar el nombre de la tabla en minúscula, completamente y en plural con s.

22
00:01:42,140 --> 00:01:48,410
Bueno, en general esto es una nomenclatura por lo menos utilizada mucho en mi SQL, donde las tablas

23
00:01:48,500 --> 00:01:53,960
van en minúsculas, se escriben completamente en minúscula y terminan en plural en s.

24
00:01:54,110 --> 00:01:59,770
A diferencia del nombre de clase que comienza con mayúscula y es en singular, es un estándar de Java.

25
00:01:59,870 --> 00:02:06,140
Bueno, y tiene bastante sentido porque si lo miramos, el punto vista una tabla tiene muchos elementos,

26
00:02:06,200 --> 00:02:13,970
muchos registros, mientras que una clase es una plantilla para crear una instancia, un solo objeto.

27
00:02:14,000 --> 00:02:20,900
Por eso las tablas por lo general van en plural con s y las clases en Java van en singular.

28
00:02:23,150 --> 00:02:33,800
Implemente ser realizable y portábamos realizable y vamos a crear el atributo difficult serel versión.

29
00:02:33,890 --> 00:02:36,530
Pueden colocar default o generar un sería adversión.

30
00:02:36,650 --> 00:02:37,280
Da lo mismo.

31
00:02:39,730 --> 00:02:45,440
Bien, recordemos que implementar realizable en estos tipos de clase es recomendado porque muchas veces

32
00:02:45,440 --> 00:02:52,280
se trabaja con serialización el proceso de convertir un objeto en una secuencia de bits para almacenarlo

33
00:02:52,370 --> 00:02:59,270
o transmitirlo a la memoria, por ejemplo, o a una base auto o a un Jaison o XML, o cuando trabajamos

34
00:02:59,270 --> 00:03:04,790
con sesiones http se requiere realizar y para eso tenemos que implementar esta interfaz.

35
00:03:04,850 --> 00:03:06,140
Pasa lo mismo con JPA.

36
00:03:06,260 --> 00:03:13,040
Al final es sacralizar cuando guardamos un objeto en la sesión http es recomendable siempre implementar

37
00:03:13,210 --> 00:03:14,600
realizable para nuestra clase.

38
00:03:14,620 --> 00:03:16,890
Sentite con JPA e Internet.

39
00:03:17,210 --> 00:03:17,480
Bien.

40
00:03:17,540 --> 00:03:19,070
Y cuáles son nuestros atributos?

41
00:03:19,130 --> 00:03:23,510
Primero el más importante el Heidy del tipo Long.

42
00:03:24,740 --> 00:03:30,920
Es importante que el lonco que parte con mayúscula del tipo de referencia de una clase, no del tipo

43
00:03:30,920 --> 00:03:36,320
primitivo con minúscula que nos permite trabajar con conversiones de tipos.

44
00:03:36,440 --> 00:03:40,730
Acá tenemos que indicar que este atributo es la llave primaria.

45
00:03:40,850 --> 00:03:45,770
Lo hacemos con la anotación Heidy la vamos a importar también siempre de Evax.

46
00:03:47,390 --> 00:03:51,230
Básicamente Heidy lo que hace es indicar que este atributo es la llave.

47
00:03:51,410 --> 00:03:51,920
Nada más.

48
00:03:53,450 --> 00:03:55,340
Luego tenemos Generated Value.

49
00:03:56,240 --> 00:03:57,230
Lo vamos a importar.

50
00:03:57,380 --> 00:04:02,000
Acá indicamos cuál es la estrategia en que genera la llave la Ayato, el motor.

51
00:04:02,060 --> 00:04:08,810
Por ejemplo, comencé SQL con SQL Server se genera de forma automática auto incremental de uno en uno.

52
00:04:08,960 --> 00:04:09,830
Es el por defecto.

53
00:04:10,040 --> 00:04:17,690
Entonces acá indicamos la estrategia con strategy igual identity auto incremental.

54
00:04:17,810 --> 00:04:21,020
También tenemos secues que se utiliza por ejemplo en Oracle.

55
00:04:21,200 --> 00:04:23,330
También en post SQL.

56
00:04:23,790 --> 00:04:30,680
En nuestro caso como SQL con H2, con SQL Server Identity y tenemos listo el Heidy.

57
00:04:33,500 --> 00:04:34,700
Vamos a tener un nombre.

58
00:04:41,480 --> 00:04:45,080
Vamos a tener un apellido, un email y también una fecha

59
00:04:50,060 --> 00:04:55,280
que le vamos a llamar Create at o creado en una fecha de creación.

60
00:04:55,310 --> 00:05:00,350
Vamos a importar de Java útil importante que sea de llebaba útil y no de base.

61
00:05:00,350 --> 00:05:01,400
Quale ya va.

62
00:05:01,490 --> 00:05:01,880
Útil.

63
00:05:02,950 --> 00:05:03,380
Perfecto.

64
00:05:03,470 --> 00:05:06,920
Automáticamente una clase que está anotada con Entity de persistencia.

65
00:05:06,920 --> 00:05:14,300
Todos los demás atributos campos de la clase se van a mapear de forma automática, sin configurar nada,

66
00:05:14,330 --> 00:05:20,060
sin anotar, pero por defecto va a mapear a un campo que se llama exactamente igual.

67
00:05:20,120 --> 00:05:24,890
Por ejemplo, la tabla Clientes en este caso va a tener una llave auto incremental.

68
00:05:24,920 --> 00:05:32,120
Heidy va a tener el nombre un campo nombre que se llama exactamente igual en minúscula un campo apellido,

69
00:05:32,150 --> 00:05:36,240
un campo email y una fecha AT también un campo.

70
00:05:36,440 --> 00:05:42,500
Pero bien, qué pasa si un atributo de nuestra clase se llama distinto al nombre un campo en la tabla?

71
00:05:42,650 --> 00:05:43,940
Eso también lo puedo configurar.

72
00:05:44,060 --> 00:05:52,070
Por ejemplo, acá con Colum pueden Hokuto, Mizar importamos de Java hacks persistentes por poner un

73
00:05:52,070 --> 00:05:52,400
ejemplo.

74
00:05:52,400 --> 00:05:56,670
Después lo voy a quitar name un string y el nombre.

75
00:05:58,430 --> 00:06:04,480
Entonces si mi atributo se llama nombre en la clase, pero el campo de la Ayato se llama nombre un bajo

76
00:06:04,490 --> 00:06:12,350
cliente, lo tengo que indicar o incluso podría ser en mayúscula nombre cliente se fijan, pero bien

77
00:06:12,440 --> 00:06:13,910
es para customizar.

78
00:06:14,240 --> 00:06:20,120
También tenemos otros atributos para indicar el largo, pero en la datos el burchard.

79
00:06:20,210 --> 00:06:22,850
Cuanto carretera va a tener el campo en la tabla?

80
00:06:23,030 --> 00:06:27,050
Si acepta nulos por defecto es nu lable.

81
00:06:27,140 --> 00:06:28,820
Es en true lo podemos cambiar.

82
00:06:28,820 --> 00:06:35,030
Por ejemplo Ráfols la precisión cuando trabajamos por ejemplo con decimales con tipo de dato.

83
00:06:35,260 --> 00:06:37,970
Float o dobles o big decimal.

84
00:06:38,030 --> 00:06:46,010
En fin, si el campo es único para agregar un constraint, una llave del tipo y única, si este campo

85
00:06:46,040 --> 00:06:54,380
o atributo es actualizable en la base auto y si es insertarle atributos para configurar y customizar

86
00:06:54,560 --> 00:07:01,130
bien, lo voy a quitar porque la idea de que se llame igual nombre en la tabla y en la clase, pero

87
00:07:01,250 --> 00:07:03,470
acá sí que vamos a usar el columna.

88
00:07:05,980 --> 00:07:06,550
Por qué?

89
00:07:07,300 --> 00:07:14,200
Porque acá en Yaba los nombres compuestos, ya sea de clase, atributos, métodos, siempre por estándar

90
00:07:14,260 --> 00:07:19,090
y buenas prácticas, se separan con mayúscula create at una palabra.

91
00:07:19,180 --> 00:07:22,690
La segunda palabra inicia mayúscula solamente cuando comienza.

92
00:07:23,170 --> 00:07:29,440
Nombre compuesto, por ejemplo aka generation, type una palabra y type otra palabra.

93
00:07:29,500 --> 00:07:32,930
La t e mayúscula son convenciones de nombre en yaba.

94
00:07:33,440 --> 00:07:38,170
Entonces, en base a esto, los estándares y convenciones son un poco distinta.

95
00:07:38,290 --> 00:07:44,020
Lo más común es separar con guión bajo nombre de campos en las tablas, incluso nombre de tablas.

96
00:07:44,050 --> 00:07:45,130
También con guión bajo.

97
00:07:45,430 --> 00:07:51,980
Entonces acá tenemos que indicar que se llama distinto create create, guion bajo, add

98
00:07:54,820 --> 00:07:56,080
y también temporal.

99
00:07:56,380 --> 00:07:58,540
Solamente para fechas vamos a importar.

100
00:07:59,740 --> 00:08:06,910
Lo que hace temporal es indicar el formato en que se va a guardar esta fecha de YABA en la tabla Trace

101
00:08:06,910 --> 00:08:10,420
dato en el campo Create at, por ejemplo.

102
00:08:11,720 --> 00:08:14,210
La podemos guardar del tipo date.

103
00:08:14,390 --> 00:08:18,140
Es decir, solamente la fecha, si la hora y los minutos de los segundos.

104
00:08:18,230 --> 00:08:20,350
Solamente la fecha, el time.

105
00:08:20,450 --> 00:08:22,670
Solamente la hora, hora, minuto, segundo.

106
00:08:22,730 --> 00:08:25,310
Y el teista es completa hora y fecha.

107
00:08:25,460 --> 00:08:27,250
Bien, vamos a usar date.

108
00:08:28,610 --> 00:08:30,860
Y por último, para finalizar, tenemos que crearlo.

109
00:08:30,860 --> 00:08:32,270
Método getter y setter.

110
00:08:32,420 --> 00:08:36,890
Muy importante clic derecho sources general que teran setter.

111
00:08:38,030 --> 00:08:40,190
Marcamos todos select al ok.

112
00:08:40,270 --> 00:08:40,820
Generar.

113
00:08:42,640 --> 00:08:44,460
Vamos a ordenar con click derecho.

114
00:08:45,390 --> 00:08:52,560
Source format y guardamos bien, tenemos lista nuestra clase client.

115
00:08:52,710 --> 00:08:57,660
Entonces la próxima clase vamos a crear el DAO, la clase de acceso a datos.

116
00:08:57,750 --> 00:09:03,660
Primero su interfaz y después la vamos a implementar con JPA a través del lente Timanfaya.

117
00:09:03,750 --> 00:09:08,760
Pero bien, un tema importante que quería mencionar gran parte de la clase que hasta el momento de esta

118
00:09:08,760 --> 00:09:14,850
primera parte del curso, lo que llevamos hasta ahora ha sido actualizaciones, clases que buelto grabar

119
00:09:14,940 --> 00:09:15,600
y actualizar.

120
00:09:15,660 --> 00:09:19,920
Pero a partir de la próxima clase comienzan los videos originales.

121
00:09:20,010 --> 00:09:25,230
Pero no se preocupen porque prácticamente todo el código que sigue es 100 por ciento compatible con

122
00:09:25,230 --> 00:09:26,730
las últimas versiones de Spring.

123
00:09:27,000 --> 00:09:32,370
Bueno, hay uno que otro detalle que vamos a ver, que vamos a actualizar y algunos videos que vamos

124
00:09:32,370 --> 00:09:33,030
a volver a grabar.

125
00:09:33,150 --> 00:09:39,330
Esto lo digo porque probablemente en la próxima clase se den cuenta en las clases originales, se den

126
00:09:39,330 --> 00:09:46,320
cuenta de que estoy usando el JDK 8, pero en realidad da igual si usamos el 8, el 11, el 12.

127
00:09:46,470 --> 00:09:51,960
Los proyectos van a funcionar igual, independiente de la versión de JDK del 8 o 11.

128
00:09:52,080 --> 00:09:57,540
Pero bien, igual es cierto que hay algunos detalles que hay que ver y que hay que analizar, pero lo

129
00:09:57,540 --> 00:10:02,730
vamos a ver en su momento con los video de actualización, como por ejemplo el JDK 8.

130
00:10:02,850 --> 00:10:10,050
Hay librerías módulos del JDK que se incluyen, pero después en la versión 11 se eliminan, pero salir

131
00:10:10,050 --> 00:10:12,840
de días la tenemos que agregar en el post XML.

132
00:10:12,960 --> 00:10:17,010
Así que prácticamente es un detalle muy simple que lo vamos a ver también en su momento.

133
00:10:17,160 --> 00:10:22,860
También es probable que se den cuenta de que hay un par de proyectos que habían antes en la primera

134
00:10:22,860 --> 00:10:24,810
sección, pero ya no la tenemos.

135
00:10:24,870 --> 00:10:31,410
Pero no se preocupen porque en realidad fueron proyectos que renombre o reemplacé por lo que vimos en

136
00:10:31,410 --> 00:10:32,700
la primera parte del curso.

137
00:10:32,820 --> 00:10:38,850
En las primeras secciones todo lo relacionado a Spring MDC, inyección de dependencia, en fin.

138
00:10:38,970 --> 00:10:42,450
Bueno, quería comentar esto último y quedamos hasta acá.

139
00:10:42,630 --> 00:10:43,350
Nos vemos.
