1 00:00:00,000 --> 00:00:05,059 Vale, a ver, aquí hay una, si alguien ha copiado sin pensar, 2 00:00:05,919 --> 00:00:08,880 pues habrá copiado mal porque yo ahí lo he escrito mal, 3 00:00:08,939 --> 00:00:14,740 que lo ha, sí, que lo ha detectado Daniel, ¿vale? 4 00:00:16,260 --> 00:00:19,780 Cuidado con esto, que yo había puesto e.equipo y no hay ninguna 5 00:00:19,780 --> 00:00:23,839 propiedad equipo en el objeto equipo, ¿vale? 6 00:00:24,160 --> 00:00:28,079 Recordad que esta select era a través de un videojuego que 7 00:00:28,079 --> 00:00:29,839 dábamos como parámetro, este de aquí, 8 00:00:30,620 --> 00:00:32,140 a través de un videojuego que dábamos 9 00:00:32,140 --> 00:00:33,340 como parámetro en el web, 10 00:00:34,140 --> 00:00:36,039 pues de este videojuego, ¿qué sacábamos? 11 00:00:37,020 --> 00:00:38,159 Sacábamos del videojuego 12 00:00:38,159 --> 00:00:39,759 JV, el nivel y la posición, 13 00:00:39,979 --> 00:00:42,179 eso está claro. Pero el nivel y la posición 14 00:00:42,179 --> 00:00:44,259 solo no nos bastan, 15 00:00:44,299 --> 00:00:44,979 nos bastan 16 00:00:44,979 --> 00:00:47,420 del jugador 17 00:00:47,420 --> 00:00:50,259 que está jugando 18 00:00:50,259 --> 00:00:51,039 ese videojuego 19 00:00:51,039 --> 00:00:54,560 y el nombre del equipo que juega. Entonces, el jugador 20 00:00:54,560 --> 00:00:56,500 que está jugando ese videojuego, 21 00:00:56,500 --> 00:00:59,079 Lo sacamos de la propiedad jugador 22 00:00:59,079 --> 00:01:00,259 De este 23 00:01:00,259 --> 00:01:02,200 A través de la propiedad jugador 24 00:01:02,200 --> 00:01:03,280 Lo sacamos el jugador 25 00:01:03,280 --> 00:01:06,500 Y a través de este jugador sacamos el nick 26 00:01:06,500 --> 00:01:08,680 Y luego el equipo, ¿cómo lo sacamos? 27 00:01:08,799 --> 00:01:11,099 El equipo lo sacamos a través de la propiedad 28 00:01:11,099 --> 00:01:12,459 Equipo de este jugador 29 00:01:12,459 --> 00:01:14,599 Que a su vez hemos sacado 30 00:01:14,599 --> 00:01:16,739 De la propiedad jugador de esta relación 31 00:01:16,739 --> 00:01:18,819 Entonces la propiedad 32 00:01:18,819 --> 00:01:21,079 Equipo de este jugador es este objeto E 33 00:01:21,079 --> 00:01:22,719 Y de este objeto E 34 00:01:22,719 --> 00:01:24,579 Es la propiedad equipo de este jugador 35 00:01:24,579 --> 00:01:25,700 Que es un objeto con cosas 36 00:01:25,700 --> 00:01:28,200 lo que nos interesa es el nombre del equipo solamente 37 00:01:28,200 --> 00:01:29,760 y yo había puesto aquí antes 38 00:01:29,760 --> 00:01:31,180 e.equipo 39 00:01:31,180 --> 00:01:34,340 como si el objeto equipo tuviera una propiedad 40 00:01:34,340 --> 00:01:34,939 equipo dentro 41 00:01:34,939 --> 00:01:39,420 pues 42 00:01:39,420 --> 00:01:40,340 estaba mal 43 00:01:40,340 --> 00:01:41,219 ¿vale? 44 00:01:41,500 --> 00:01:43,920 posición también lo he escrito mal 45 00:01:43,920 --> 00:01:45,200 posición principal 46 00:01:45,200 --> 00:01:47,420 ay, ay, ay 47 00:01:47,420 --> 00:01:50,260 estáis demasiado despiertos para mí 48 00:01:50,260 --> 00:01:51,760 posición principal, ¿no? 49 00:01:52,879 --> 00:01:53,519 así 50 00:01:53,519 --> 00:01:55,599 algunos más que otros 51 00:01:55,599 --> 00:01:57,900 Vale, posición principal 52 00:01:57,900 --> 00:01:59,140 Ahora lo he puesto bien 53 00:01:59,140 --> 00:02:01,540 Si no, magnífico 54 00:02:01,540 --> 00:02:03,620 Porque si no nos saldrá en error de ejecución 55 00:02:03,620 --> 00:02:05,500 Y la verdad es que lo que es estupendo 56 00:02:05,500 --> 00:02:06,659 Es cuando uno arregla las cosas 57 00:02:06,659 --> 00:02:08,300 A través de un error de ejecución 58 00:02:08,300 --> 00:02:10,180 Vale, pues entonces 59 00:02:10,180 --> 00:02:11,780 Vamos a probar este 60 00:02:11,780 --> 00:02:16,000 Método 61 00:02:16,000 --> 00:02:20,870 Vale, pues vamos a dar 62 00:02:20,870 --> 00:02:22,710 Un servicios, ¿dónde estamos? 63 00:02:22,870 --> 00:02:23,150 Aquí 64 00:02:23,150 --> 00:02:27,330 No, el main, perdón 65 00:02:27,330 --> 00:02:28,830 Main 66 00:02:28,830 --> 00:02:29,990 Vale 67 00:02:29,990 --> 00:02:34,550 Pues servicios 68 00:02:34,550 --> 00:02:35,710 ¿Qué método queremos? 69 00:02:35,930 --> 00:02:38,770 El método de ranking por nivel en juego 70 00:02:38,770 --> 00:02:40,949 Al que le pasamos 71 00:02:40,949 --> 00:02:42,490 El JPA útil 72 00:02:42,490 --> 00:02:43,270 Este de aquí 73 00:02:43,270 --> 00:02:49,590 ¿De qué videojuego queremos ver todos los jugadores 74 00:02:49,590 --> 00:02:52,030 Que juegan, en qué posición, etcétera, etcétera? 75 00:02:53,409 --> 00:02:55,050 Ojo, es que lo he borrado tanto 76 00:02:55,050 --> 00:02:56,949 Que ya aquí no me queda nadie 77 00:02:56,949 --> 00:03:01,569 Voy a meter algún otro 78 00:03:01,569 --> 00:03:03,430 Para que salgan más de uno 79 00:03:03,430 --> 00:03:06,770 Pues del videojuego 3 voy a meter a más jugadores 80 00:03:06,770 --> 00:03:10,550 A ver, del videojuego 3 81 00:03:10,550 --> 00:03:11,969 Voy a meter al jugador 1 82 00:03:11,969 --> 00:03:14,189 Que juega como juega 83 00:03:14,189 --> 00:03:15,569 ¿Cómo se puede jugar en un videojuego? 84 00:03:16,150 --> 00:03:17,389 Juega como hombre 85 00:03:17,389 --> 00:03:20,389 ¿Y en qué nivel? 86 00:03:20,509 --> 00:03:21,210 Pues un 3 87 00:03:21,210 --> 00:03:26,409 Y al videojuego 3 88 00:03:26,409 --> 00:03:29,009 Juega también el jugador 2 89 00:03:29,009 --> 00:03:30,710 Que juega como mujer 90 00:03:30,710 --> 00:03:32,330 Esto es muy 91 00:03:32,330 --> 00:03:35,870 Cultura de género muy trasnochada 92 00:03:35,870 --> 00:03:37,330 Lo siento 93 00:03:37,330 --> 00:03:41,849 Eso está bien, sí 94 00:03:41,849 --> 00:03:44,689 Que juega con el nivel 1 95 00:03:44,689 --> 00:03:46,110 Está empezando 96 00:03:46,110 --> 00:03:48,050 A tomar por saco 97 00:03:48,050 --> 00:03:50,409 No le he dado la play y todo lo que he hecho 98 00:03:50,409 --> 00:03:52,370 Hoy en día solo puede ser 99 00:03:52,370 --> 00:03:53,530 O delantero o tanque 100 00:03:53,530 --> 00:03:55,250 No puede ser ni hombre ni mujer 101 00:03:55,250 --> 00:03:56,430 Yo soy tanque 102 00:03:56,430 --> 00:03:59,370 Para suerte 103 00:03:59,370 --> 00:04:01,569 Venga, al videojuego 104 00:04:01,569 --> 00:04:03,169 tres, juega uno 105 00:04:03,169 --> 00:04:05,650 que juega como 106 00:04:05,650 --> 00:04:06,169 casa 107 00:04:06,169 --> 00:04:11,629 y al videojuego tres 108 00:04:11,629 --> 00:04:13,330 el dos juega 109 00:04:13,330 --> 00:04:15,430 como silla 110 00:04:15,430 --> 00:04:23,970 a ver, yo de pequeña 111 00:04:23,970 --> 00:04:27,550 jugué al primer juego 112 00:04:27,550 --> 00:04:29,189 que existió en la vida mundial 113 00:04:29,189 --> 00:04:31,089 del príncipe de Persia 114 00:04:31,089 --> 00:04:33,529 al primero 115 00:04:33,529 --> 00:04:35,329 al de ordenador 116 00:04:35,329 --> 00:04:37,290 que era como una especie de 117 00:04:37,290 --> 00:04:40,170 de consola de los videojuegos 118 00:04:40,170 --> 00:04:41,949 que jugabas con el teclado 119 00:04:41,949 --> 00:04:43,889 ¿tú has jugado a ese? 120 00:04:44,189 --> 00:04:45,910 al antiguo, antiguo, al que atravesaba 121 00:04:45,910 --> 00:04:48,129 los espejos, que eran 4 píxeles 122 00:04:48,129 --> 00:04:49,550 el por obvio el príncipe de Persia 123 00:04:49,550 --> 00:04:50,870 era un encabezón así 124 00:04:50,870 --> 00:04:53,470 sí, pues 125 00:04:53,470 --> 00:04:55,649 era muy bonito 126 00:04:55,649 --> 00:04:57,529 y luego de hecho 127 00:04:57,529 --> 00:04:59,670 cuando ya me regalaron 128 00:04:59,670 --> 00:05:02,509 la versión ya más también para ordenador 129 00:05:02,509 --> 00:05:04,170 ya dejé de jugar porque no me parecía 130 00:05:04,170 --> 00:05:04,629 tan bonito 131 00:05:04,629 --> 00:05:07,569 también hay verdad que era más mayor ya 132 00:05:07,569 --> 00:05:09,829 pero el primero es que te quedabas con ese encanto 133 00:05:09,829 --> 00:05:11,449 había una pantalla que era incapaz de pasar 134 00:05:11,449 --> 00:05:12,709 pero 135 00:05:12,709 --> 00:05:23,420 ah pues debe ser que el mío estaba 136 00:05:23,420 --> 00:05:25,279 atascado porque había uno en la cual 137 00:05:25,279 --> 00:05:27,639 él atravesaba un espejo 138 00:05:27,639 --> 00:05:29,339 y salía como su reflejo y empezaban 139 00:05:29,339 --> 00:05:30,540 los dos a correr por ahí 140 00:05:30,540 --> 00:05:33,480 Pues yo ya me quedaba ahí con los dos ahí corriendo 141 00:05:33,480 --> 00:05:34,420 Y ya de ahí no me movía 142 00:05:34,420 --> 00:05:35,160 Pero bueno 143 00:05:35,160 --> 00:05:38,060 Bueno, pues a ver 144 00:05:38,060 --> 00:05:39,220 Vamos a jugar 145 00:05:39,220 --> 00:05:40,920 Vamos a 146 00:05:40,920 --> 00:05:45,420 Del videojuego 3 147 00:05:45,420 --> 00:05:46,939 Este que me va a dar 148 00:05:46,939 --> 00:05:48,360 Este me va a dar una lista 149 00:05:48,360 --> 00:05:50,740 De objetos 150 00:05:50,740 --> 00:05:53,600 Vamos a serializarla 151 00:05:53,600 --> 00:05:54,079 Como no 152 00:05:54,079 --> 00:05:56,500 A Pablo lo hemos perdido 153 00:05:56,500 --> 00:05:58,899 Vamos a serializarla 154 00:05:58,899 --> 00:06:00,079 Y esta lista de objetos 155 00:06:00,079 --> 00:06:03,379 ¿qué vamos a hacer? pues para cada lista 156 00:06:03,379 --> 00:06:05,019 de objetos x 157 00:06:05,019 --> 00:06:08,639 la vamos a mostrar 158 00:06:08,639 --> 00:06:11,399 pero como una raíz si hacemos el siso se muestra 159 00:06:11,399 --> 00:06:14,560 lo raruno, la vamos a mostrar 160 00:06:14,560 --> 00:06:15,860 como lista 161 00:06:15,860 --> 00:06:24,220 raíz as list y le paso 162 00:06:24,220 --> 00:06:30,430 x, y aquí hay mucho punto y coma 163 00:06:30,430 --> 00:06:32,069 y falta mucho paréntesis 164 00:06:32,069 --> 00:06:35,769 vale, entonces me va a mostrar como lista 165 00:06:35,769 --> 00:06:38,509 los elementos que son todos string 166 00:06:38,509 --> 00:06:39,970 string o int 167 00:06:39,970 --> 00:06:42,410 entonces va a poder, o sea, x es el array 168 00:06:42,410 --> 00:06:43,410 de objetos, ¿verdad? 169 00:06:43,990 --> 00:06:45,290 x es el array de objetos 170 00:06:45,290 --> 00:06:48,589 y cada elemento de ese array es el que tiene 171 00:06:48,589 --> 00:06:50,410 un string 172 00:06:50,410 --> 00:06:52,290 que es el nick, un string que es el nombre 173 00:06:52,290 --> 00:06:53,490 un int que es el nivel 174 00:06:53,490 --> 00:06:55,610 y un int, creo, que es la posición 175 00:06:55,610 --> 00:06:58,430 o no, o otro string 176 00:06:58,430 --> 00:06:59,149 bueno 177 00:06:59,149 --> 00:07:02,350 entonces, al convertir ese array 178 00:07:02,350 --> 00:07:03,629 de objetos como lista 179 00:07:03,629 --> 00:07:06,269 el toString 180 00:07:06,269 --> 00:07:07,449 de list 181 00:07:07,449 --> 00:07:09,930 si está logrado, no es como el toString 182 00:07:09,930 --> 00:07:11,389 de object que no está logrado 183 00:07:11,389 --> 00:07:13,850 de hecho no está 184 00:07:13,850 --> 00:07:16,129 ni hecho, es el de object 185 00:07:16,129 --> 00:07:17,490 así que no funciona 186 00:07:17,490 --> 00:07:20,050 pero la lista sí que sobreescribe 187 00:07:20,050 --> 00:07:22,170 toString de object, con lo cual esto ya queda bonito 188 00:07:22,170 --> 00:07:23,930 y como los int y los 189 00:07:23,930 --> 00:07:25,990 string tienen su propio toString, esto lo vamos a ver 190 00:07:25,990 --> 00:07:28,149 bonito, vamos a ver 191 00:07:28,149 --> 00:07:29,930 y si nos da un error maravilloso 192 00:07:29,930 --> 00:07:31,750 porque tendremos 193 00:07:31,750 --> 00:07:34,089 como cuando me salen cosas rojas 194 00:07:34,089 --> 00:07:35,889 me da un subidón, me pone como una moto 195 00:07:35,889 --> 00:07:38,029 porque digo, ostras, porque ahí te pones a navegar 196 00:07:38,029 --> 00:07:39,730 a bucear y encuentras un montón de cosas 197 00:07:39,730 --> 00:07:42,209 a ver, porque nunca he hecho 198 00:07:42,209 --> 00:07:44,310 exámenes de esto, si alguna vez hice un examen 199 00:07:44,310 --> 00:07:45,569 y veía cosas rojas, ya no me 200 00:07:45,569 --> 00:07:47,250 pondría tan contenta 201 00:07:47,250 --> 00:07:52,230 claro, no es igual estar en tu casa 202 00:07:52,230 --> 00:07:54,129 disfrutando de la programación que estar en un examen 203 00:07:54,129 --> 00:08:01,089 mira 204 00:08:01,089 --> 00:08:07,149 ya, todavía no se disfruta igual 205 00:08:07,149 --> 00:08:09,529 vale, pues sí, efectivamente 206 00:08:09,529 --> 00:08:11,709 los tres que he puesto, el de silla, casa 207 00:08:11,709 --> 00:08:13,709 y delantero, pues ahí están en su tuestre 208 00:08:13,709 --> 00:08:14,410 vale 209 00:08:14,410 --> 00:08:18,920 fue muy bonito todo 210 00:08:18,920 --> 00:08:23,720 vale 211 00:08:23,720 --> 00:08:26,040 pues aquí lo ideal 212 00:08:26,040 --> 00:08:27,720 es que os pongáis a practicar 213 00:08:27,720 --> 00:08:30,180 con esa lista de servicios, haciendo más servicios 214 00:08:30,180 --> 00:08:31,980 porque 215 00:08:31,980 --> 00:08:33,860 de alguna manera 216 00:08:33,860 --> 00:08:36,220 esencialmente el examen 217 00:08:36,220 --> 00:08:37,740 sobre todo es eso 218 00:08:37,740 --> 00:08:39,779 bueno, luego construir el proyecto que funcione, claro 219 00:08:39,779 --> 00:08:41,820 pues si hay que hacer algún DAO, hacerlo 220 00:08:41,820 --> 00:08:44,179 si yo doy DAOs que están mal y hay que cambiar, cambiarlos 221 00:08:44,179 --> 00:08:45,879 a entender lógicamente los conceptos 222 00:08:45,879 --> 00:08:47,820 del patrón nuestro que usamos 223 00:08:47,820 --> 00:08:49,779 que es el patrón DAO servicios, el patrón 224 00:08:49,779 --> 00:08:51,679 que usamos, vale, pues 225 00:08:51,679 --> 00:08:54,159 entender esas ideas, y luego ya esencialmente 226 00:08:54,159 --> 00:08:55,700 es, pues poder 227 00:08:55,700 --> 00:08:57,919 navegar a través 228 00:08:57,919 --> 00:08:59,279 de los objetos para 229 00:08:59,279 --> 00:09:02,080 modificar la base de datos, esencialmente 230 00:09:02,080 --> 00:09:03,639 es eso, entonces, eso 231 00:09:03,639 --> 00:09:05,899 se traduce en unos servicios que practicad 232 00:09:05,899 --> 00:09:06,940 con la lista esa que os di 233 00:09:06,940 --> 00:09:09,039 A ver cómo os veis 234 00:09:09,039 --> 00:09:10,259 ¿Vale? 235 00:09:11,399 --> 00:09:13,940 Bueno, si el próximo día queréis que hagamos alguno 236 00:09:13,940 --> 00:09:15,860 O corrijamos alguno, lo que sea 237 00:09:15,860 --> 00:09:17,899 Este, que es muy raro 238 00:09:17,899 --> 00:09:19,500 Vamos a hacerlo aquí, a ver si nos sale 239 00:09:19,500 --> 00:09:20,080 Pues lo hacemos 240 00:09:20,080 --> 00:09:21,340 Vale 241 00:09:21,340 --> 00:09:24,179 Y mientras 242 00:09:24,179 --> 00:09:26,620 ¿Por qué se me ha quitado? 243 00:09:26,679 --> 00:09:28,600 Ay, qué rabia me da eso, me cago en todo 244 00:09:28,600 --> 00:09:33,360 ¿Por qué he dejado de verla cuando 245 00:09:33,360 --> 00:09:34,460 Pongo el eclipse? 246 00:09:34,820 --> 00:09:36,159 Ah, vale, porque lo tenía 247 00:09:36,159 --> 00:09:40,799 Bueno, pues entonces 248 00:09:40,799 --> 00:09:43,919 Aquí hay cosas feas 249 00:09:43,919 --> 00:09:45,779 Bueno, feas, a mí me encantan 250 00:09:45,779 --> 00:09:46,519 Son muy bonitas 251 00:09:46,519 --> 00:09:49,720 Pero para la generación actual son feas 252 00:09:49,720 --> 00:09:51,399 Sí, ahí pone el grupo feo 253 00:09:51,399 --> 00:09:53,639 ¿Qué es? 254 00:09:54,860 --> 00:09:55,720 Me voy a la clase 255 00:09:55,720 --> 00:09:56,919 Me voy a main 256 00:09:56,919 --> 00:09:57,899 Bueno, ya diré 257 00:09:57,899 --> 00:09:58,419 Bueno, a ver 258 00:09:58,419 --> 00:10:00,240 Estamos hablando de un escritorio 259 00:10:00,240 --> 00:10:01,379 Ya cambiaremos de arquitectura 260 00:10:01,379 --> 00:10:02,720 Me da igual que sea escritorio 261 00:10:02,720 --> 00:10:04,220 Que sea un API REST 262 00:10:04,220 --> 00:10:04,820 Que sea un 263 00:10:04,820 --> 00:10:06,080 Ya cambiaremos de arquitectura 264 00:10:06,080 --> 00:10:07,240 porque es lo mismo 265 00:10:07,240 --> 00:10:09,500 pero cambiaremos de arquitectura ya con sprint 266 00:10:09,500 --> 00:10:11,840 porque hacer una pyrres sin sprint da mucha pérdida 267 00:10:11,840 --> 00:10:13,879 vale 268 00:10:13,879 --> 00:10:15,340 aquí ya vemos cosas feas 269 00:10:15,340 --> 00:10:17,759 pues 270 00:10:17,759 --> 00:10:18,980 todo el rato esto 271 00:10:18,980 --> 00:10:21,700 estoy todo el rato repitiendo esto 272 00:10:21,700 --> 00:10:24,059 repitiendo esto de aquí 273 00:10:24,059 --> 00:10:28,820 gracias por entender 274 00:10:28,820 --> 00:10:35,720 ya, pero yo soy un 275 00:10:35,720 --> 00:10:37,899 esbirro del 276 00:10:37,899 --> 00:10:39,600 sistema y el sistema me dice 277 00:10:39,600 --> 00:10:41,679 que os venda, que no 278 00:10:41,679 --> 00:10:43,820 hombre, que si hay un framework que te gestiona 279 00:10:43,820 --> 00:10:45,220 todo esto, pues mucho mejor 280 00:10:45,220 --> 00:10:47,460 y tiene sentido, no digo, no es que me resista 281 00:10:47,460 --> 00:10:54,000 bueno, efectivamente 282 00:10:54,000 --> 00:10:55,840 claro, pues sí, si esa es 283 00:10:55,840 --> 00:10:56,379 mi teoría 284 00:10:56,379 --> 00:11:02,480 Es más, yo creo que ese método 285 00:11:02,480 --> 00:11:03,919 debería dejarte poner un bloque 286 00:11:03,919 --> 00:11:10,399 O sea, que querríais todavía más complejidad 287 00:11:10,399 --> 00:11:11,720 Vale 288 00:11:11,720 --> 00:11:14,440 Bueno, pues sí 289 00:11:14,440 --> 00:11:16,600 es que me has tirado todos los 290 00:11:16,600 --> 00:11:18,700 me has tirado el discurso, ahora qué hago, vámonos a casa 291 00:11:18,700 --> 00:11:20,820 Pues si tú lo dices 292 00:11:20,820 --> 00:11:22,759 Ya no tengo más que decir 293 00:11:22,759 --> 00:11:24,559 Bueno 294 00:11:24,559 --> 00:11:27,639 Pues ahora, si nos vamos a 295 00:11:27,639 --> 00:11:29,980 Aparte de que 296 00:11:29,980 --> 00:11:30,759 Aquí hay código 297 00:11:30,759 --> 00:11:33,720 Que nos hace tocar cierto barro 298 00:11:33,720 --> 00:11:34,659 Cierta suciedad 299 00:11:34,659 --> 00:11:37,639 A nosotros nos gusta, porque somos gente que nos gusta 300 00:11:37,639 --> 00:11:38,539 Fajarnos con las cosas 301 00:11:38,539 --> 00:11:41,480 Pero bueno, sí, claro, nos gusta 302 00:11:41,480 --> 00:11:43,539 Pelear en el barro, no nos gusta así 303 00:11:43,539 --> 00:11:44,600 No 304 00:11:44,600 --> 00:11:50,860 Aquí tenemos el cuerpo a cuerpo 305 00:11:50,860 --> 00:11:52,299 Que puede nos gustarnos 306 00:11:52,299 --> 00:11:55,080 y pero no solo el cuerpo a cuerpo 307 00:11:55,080 --> 00:11:56,840 hay una cosa que esta si que tiene sentido 308 00:11:56,840 --> 00:11:58,779 que es que nos estamos repitiendo 309 00:11:58,779 --> 00:11:59,179 mucho 310 00:11:59,179 --> 00:12:02,740 estamos todo el rato teniendo que pasar aquí 311 00:12:02,740 --> 00:12:03,539 el entity manager 312 00:12:03,539 --> 00:12:06,580 todo el rato teniendo que cerrar 313 00:12:06,580 --> 00:12:10,980 entonces nos repetimos 314 00:12:10,980 --> 00:12:12,659 mucho y está ese 315 00:12:12,659 --> 00:12:14,960 principio de programación 316 00:12:14,960 --> 00:12:16,700 que es y en la vida 317 00:12:16,700 --> 00:12:18,840 no te repitas porque te conviertes en 318 00:12:18,840 --> 00:12:19,360 un pesado 319 00:12:19,360 --> 00:12:25,919 bueno, pues yo a mi hija siempre le doy este consejo 320 00:12:25,919 --> 00:12:29,240 hay algo peor que ser mala 321 00:12:29,240 --> 00:12:31,399 solo hay una cosa que es casi tan mala 322 00:12:31,399 --> 00:12:32,639 como ser mala persona 323 00:12:32,639 --> 00:12:34,240 a ojos de los demás 324 00:12:34,240 --> 00:12:36,539 que es ser pesado 325 00:12:36,539 --> 00:12:42,940 lo primero que tiene que evitar uno 326 00:12:42,940 --> 00:12:44,500 es ser mala persona, lógicamente 327 00:12:44,500 --> 00:12:46,960 y lo segundo que tiene que evitar es ser pesado 328 00:12:46,960 --> 00:12:48,519 que a unos nos cuesta más que a otros 329 00:12:48,519 --> 00:12:49,820 pero eso se tiene que evitar 330 00:12:49,820 --> 00:12:52,419 bueno, pues aquí 331 00:12:52,419 --> 00:12:54,620 esa es una de las pautas 332 00:12:54,620 --> 00:12:56,519 de buen desarrollo 333 00:12:56,519 --> 00:12:58,639 una buena práctica de desarrollo de código 334 00:12:58,639 --> 00:12:59,840 que es no te repitas 335 00:12:59,840 --> 00:13:02,879 es lo que los que le quieren 336 00:13:02,879 --> 00:13:04,779 dar término en inglés para ser 337 00:13:04,779 --> 00:13:05,519 super guays 338 00:13:05,519 --> 00:13:09,220 no, otra cosa 339 00:13:09,220 --> 00:13:09,879 más bonita 340 00:13:09,879 --> 00:13:12,720 entonces, si tú dices esto 341 00:13:12,720 --> 00:13:18,070 pues es super guay 342 00:13:18,070 --> 00:13:18,990 ¿vale? 343 00:13:18,990 --> 00:13:22,330 Y dices, hostia, ¿cuánto boilerplate tienes aquí, colega? 344 00:13:22,889 --> 00:13:24,350 Entonces, ¿qué estás diciendo? 345 00:13:24,470 --> 00:13:25,610 O creo yo que estás diciendo. 346 00:13:25,870 --> 00:13:26,309 Repetición. 347 00:13:26,610 --> 00:13:28,070 Te estás repitiendo un huevo. 348 00:13:28,710 --> 00:13:30,409 Claro, que nunca me he parado a pensar por qué. 349 00:13:30,470 --> 00:13:31,470 Porque boiler, ¿qué significa? 350 00:13:33,210 --> 00:13:34,309 Donde hierves. 351 00:13:35,830 --> 00:13:37,610 Bueno, no sé muy bien por qué se usa este término. 352 00:13:37,750 --> 00:13:39,350 Porque tu bol es hervir. 353 00:13:39,870 --> 00:13:41,870 Pero boiler será el recipiente. 354 00:13:43,110 --> 00:13:43,990 Bueno, no lo sé. 355 00:13:44,090 --> 00:13:45,549 Pero no te repitas. 356 00:13:46,009 --> 00:13:47,549 Es uno de los principios básicos, ¿vale? 357 00:13:47,549 --> 00:13:48,909 Pues entonces 358 00:13:48,909 --> 00:13:52,929 Eso por un lado 359 00:13:52,929 --> 00:13:54,730 Otra cosa, esa ya la hemos mencionado 360 00:13:54,730 --> 00:13:57,190 Aquí porque nos hemos puenteado el DAO 361 00:13:57,190 --> 00:13:59,289 Y nos hemos quitado el DAO porque nos ha dado la gana 362 00:13:59,289 --> 00:14:01,809 Pero 363 00:14:01,809 --> 00:14:04,250 Voy en el plate 364 00:14:04,250 --> 00:14:06,309 Ah, se traduce como repetido, mira, nunca lo había buscado 365 00:14:06,309 --> 00:14:08,669 Vale, pues justo, no te repitas 366 00:14:08,669 --> 00:14:09,710 Vale 367 00:14:09,710 --> 00:14:12,070 Entonces, si además tuviéramos 368 00:14:12,070 --> 00:14:13,690 El patrón DAO de verdad 369 00:14:13,690 --> 00:14:16,049 Con el DAO no sé cuántos 370 00:14:16,049 --> 00:14:16,649 Pues ahí 371 00:14:16,649 --> 00:14:19,350 no solo nos estaríamos 372 00:14:19,350 --> 00:14:20,929 repitiendo entre comillas 373 00:14:20,929 --> 00:14:25,970 es que esto 374 00:14:25,970 --> 00:14:27,610 ni yo me lo creo, esto es como los curas 375 00:14:27,610 --> 00:14:29,649 que te sueltan el rollo y ni Dios cree en Dios 376 00:14:29,649 --> 00:14:31,230 pues esto es lo mismo 377 00:14:31,230 --> 00:14:34,029 ni yo me creo 378 00:14:34,029 --> 00:14:35,350 lo que digo, pero bueno 379 00:14:35,350 --> 00:14:37,429 algunas cosas si me las creo 380 00:14:37,429 --> 00:14:40,549 pero me queda más remedio 381 00:14:46,649 --> 00:14:48,250 no te repitas 382 00:14:48,250 --> 00:14:50,629 salvo cuando la lógica de negocio 383 00:14:50,629 --> 00:14:51,610 es distinta 384 00:14:51,610 --> 00:14:54,409 haciendo lo mismo, creo que no lo entiendes 385 00:14:54,409 --> 00:14:55,610 tú tienes dos clases 386 00:14:55,610 --> 00:14:57,990 en las que en ambas por ejemplo tienes un método 387 00:14:57,990 --> 00:14:59,409 que es quitar impuestos 388 00:14:59,409 --> 00:15:01,870 y que en este momento 389 00:15:01,870 --> 00:15:03,070 hacen lo mismo 390 00:15:03,070 --> 00:15:05,690 pero porque da la casualidad de que 391 00:15:05,690 --> 00:15:08,309 este año es el mismo y otra cosa tiene el mismo valor 392 00:15:08,309 --> 00:15:08,809 claro 393 00:15:08,809 --> 00:15:10,409 claro 394 00:15:10,409 --> 00:15:14,789 claro, es que aquí tenemos el compromiso 395 00:15:14,789 --> 00:15:16,389 entre no repetirte 396 00:15:16,389 --> 00:15:17,850 y la escalabilidad 397 00:15:17,850 --> 00:15:20,509 ¿qué pesa más? que la aplicación 398 00:15:20,509 --> 00:15:22,409 sea escalable, eso es lo más 399 00:15:22,409 --> 00:15:24,690 importante, entonces precisamente 400 00:15:24,690 --> 00:15:26,330 el tener 401 00:15:26,330 --> 00:15:28,370 el método, el ejemplo 402 00:15:28,370 --> 00:15:30,129 que ha puesto él, tener el método en dos sitios 403 00:15:30,129 --> 00:15:32,289 claro, te permite ampliar la aplicación 404 00:15:32,289 --> 00:15:34,230 sin tener que tirarla abajo prácticamente entera 405 00:15:34,230 --> 00:15:36,350 porque los cambios van a ir 406 00:15:36,350 --> 00:15:37,029 continuamente 407 00:15:37,029 --> 00:15:39,929 bueno, pues entonces 408 00:15:39,929 --> 00:15:42,509 aquí nos estamos repitiendo 409 00:15:42,509 --> 00:15:44,409 un poquito, pero esto sí que 410 00:15:44,409 --> 00:15:45,669 no nos hace más escalables 411 00:15:45,669 --> 00:15:48,210 esto no nos hace más escalares, lo estamos repitiendo 412 00:15:48,210 --> 00:15:49,850 aquí porque no tenemos DAO 413 00:15:49,850 --> 00:15:51,850 pero tendríamos que estar continuamente 414 00:15:51,850 --> 00:15:54,309 instanciando el DAO para inyectárselo al no sé qué 415 00:15:54,309 --> 00:15:56,049 total, que como esas cosas 416 00:15:56,049 --> 00:15:58,389 a la gente no le gustan 417 00:15:58,389 --> 00:16:00,230 a los, pues bueno 418 00:16:00,230 --> 00:16:01,750 venga, pues ya sabemos que 419 00:16:01,750 --> 00:16:04,009 Spring te puede gestionar 420 00:16:04,009 --> 00:16:05,269 muchas de esas cosas 421 00:16:05,269 --> 00:16:07,769 te puede gestionar la 422 00:16:07,769 --> 00:16:09,549 instanciación automática 423 00:16:09,549 --> 00:16:12,090 de objetos cuando hagan falta 424 00:16:12,090 --> 00:16:13,490 sin tener que preocuparte tú 425 00:16:13,490 --> 00:16:16,710 metiéndoselas a los objetos que las necesiten 426 00:16:16,710 --> 00:16:18,850 eso es su origen 427 00:16:18,850 --> 00:16:20,269 inicial 428 00:16:20,269 --> 00:16:22,710 pero también te puede hacer 429 00:16:22,710 --> 00:16:24,149 toda la gestión de 430 00:16:24,149 --> 00:16:25,490 crear el entity manager 431 00:16:25,490 --> 00:16:28,090 hacer el commit, el begin 432 00:16:28,090 --> 00:16:30,590 todo eso te lo puede hacer de forma transparente 433 00:16:30,590 --> 00:16:32,710 bueno, pues entonces 434 00:16:32,710 --> 00:16:34,429 si lo hacemos con 435 00:16:34,429 --> 00:16:36,629 sprint, notaremos algún pequeño cambio 436 00:16:36,629 --> 00:16:38,610 vale 437 00:16:38,610 --> 00:16:40,289 pues entonces, sprint, ahora ya estoy 438 00:16:40,289 --> 00:16:42,029 hablando en particular 439 00:16:42,029 --> 00:16:44,450 de acceso 440 00:16:44,450 --> 00:16:46,009 a datos, porque he dicho 441 00:16:46,009 --> 00:16:48,470 Spring, que te gestiona transacciones, 442 00:16:48,610 --> 00:16:49,990 te gestiona Entity Manager, entonces 443 00:16:49,990 --> 00:16:51,990 te va dando acceso a datos. No estoy hablando 444 00:16:51,990 --> 00:16:53,929 solo de la gestión de los 445 00:16:53,929 --> 00:16:56,190 BIMs en general, ¿vale? Es decir, 446 00:16:56,669 --> 00:16:58,210 ¿necesito un DAO? Pues 447 00:16:58,210 --> 00:16:59,929 instánciamelo, inyectalo, 448 00:17:00,049 --> 00:17:01,970 ¿necesito un Datasource? 449 00:17:03,169 --> 00:17:03,809 Instánciamelo 450 00:17:03,809 --> 00:17:06,029 y inyectamelo. No hablo solo 451 00:17:06,029 --> 00:17:07,309 de la parte de Spring, 452 00:17:08,049 --> 00:17:09,509 que instancia 453 00:17:09,509 --> 00:17:11,829 BIMs cuando hagan falta, porque ese sería 454 00:17:11,829 --> 00:17:13,230 el core, el Spring Core, ¿vale? 455 00:17:13,549 --> 00:17:15,509 Ahora estoy hablando en particular de cosas 456 00:17:15,509 --> 00:17:17,650 específicas de acceso a datos, como la 457 00:17:17,650 --> 00:17:18,990 gestión de transacciones. 458 00:17:19,529 --> 00:17:21,369 ¿Cuándo abres la transacción? ¿Cuándo la cierras? 459 00:17:21,769 --> 00:17:23,349 Bueno, pues esa parte de Spring 460 00:17:23,349 --> 00:17:25,450 estaría dentro de 461 00:17:25,450 --> 00:17:26,829 Spring Data JPA. 462 00:17:26,829 --> 00:17:28,289 ¿Y si ahora tengo que sustituir el de 463 00:17:28,289 --> 00:17:30,029 MGET Transaction por una notación que pone 464 00:17:30,029 --> 00:17:31,970 arroba transacción, me da exactamente igual? 465 00:17:31,990 --> 00:17:33,109 Lo complicas más. 466 00:17:34,369 --> 00:17:36,589 En realidad. Bueno, o no, 467 00:17:36,690 --> 00:17:38,490 no lo sé. No se júzgalo. 468 00:17:38,490 --> 00:17:42,490 bueno, pues de la parte 469 00:17:42,490 --> 00:17:42,990 de Spring 470 00:17:42,990 --> 00:17:45,410 que estoy hablando ahora 471 00:17:45,410 --> 00:17:48,809 es esta parte 472 00:17:48,809 --> 00:17:50,329 entonces 473 00:17:50,329 --> 00:17:52,269 este módulo de Spring te puede poner 474 00:17:52,269 --> 00:17:54,549 esa capa adicional que te permite 475 00:17:54,549 --> 00:17:55,750 esa gestión de transacciones 476 00:17:55,750 --> 00:17:58,410 y cuando trabajamos 477 00:17:58,410 --> 00:17:59,769 con Spring Data, JPA 478 00:17:59,769 --> 00:18:02,589 ya esta parte de aquí 479 00:18:02,589 --> 00:18:04,630 a ver, ¿por qué estáis tan dispersos 480 00:18:04,630 --> 00:18:06,509 ahí atrás? porque vais a exponer después 481 00:18:06,509 --> 00:18:07,490 ¿no? 482 00:18:07,490 --> 00:18:09,369 en videojuegos, no es por eso 483 00:18:09,369 --> 00:18:11,589 a ver si a costa de espalda de videojuegos 484 00:18:11,589 --> 00:18:12,730 ahora me vais a suspender 485 00:18:12,730 --> 00:18:21,150 bueno 486 00:18:21,150 --> 00:18:24,730 el comportamiento subía 487 00:18:24,730 --> 00:18:27,190 el comportamiento subía 488 00:18:27,190 --> 00:18:29,630 o la baja 489 00:18:29,630 --> 00:18:31,430 Spring Data JPA 490 00:18:31,430 --> 00:18:33,349 además vamos a ver 491 00:18:33,349 --> 00:18:35,170 que nos hace mucha magia, eso es verdad 492 00:18:35,170 --> 00:18:37,269 ahí ya sí que hay que reconocerle aquí 493 00:18:37,269 --> 00:18:39,150 vamos a reconocer que 494 00:18:39,150 --> 00:18:40,690 Spring Data JPA 495 00:18:40,690 --> 00:18:43,369 sí que en la parte de acceso a datos 496 00:18:43,369 --> 00:18:44,829 te facilita mucho las cosas. 497 00:18:45,950 --> 00:18:47,609 Entonces, ¿qué va a cambiar? 498 00:18:47,750 --> 00:18:49,289 Pues Spring Data JPA sigue 499 00:18:49,289 --> 00:18:50,569 por supuesto el patrón DAO. 500 00:18:51,089 --> 00:18:53,450 Tú tienes tu entidad con las opciones 501 00:18:53,450 --> 00:18:55,049 básicas del CRUD. Lo que pasa es que 502 00:18:55,049 --> 00:18:57,329 Spring Data JPA lo cambia un poquito de nombre 503 00:18:57,329 --> 00:18:59,009 pues porque es más fino. 504 00:19:00,009 --> 00:19:01,210 Y ahora ya no vamos a ver 505 00:19:01,210 --> 00:19:02,789 DAOs, sino que vamos a ver 506 00:19:02,789 --> 00:19:04,009 repositorios. 507 00:19:04,849 --> 00:19:05,950 Pero es lo mismo. 508 00:19:07,269 --> 00:19:09,289 O sea, un DAO es un repositorio. 509 00:19:09,309 --> 00:19:09,890 Un DAO, ya está. 510 00:19:10,390 --> 00:19:12,650 Un DAO es un repositorio, es un DAO. 511 00:19:12,809 --> 00:19:13,630 ¿Y por qué lo cambia de nombre? 512 00:19:14,430 --> 00:19:15,289 ¿Por qué lo cambia de nombre? 513 00:19:15,930 --> 00:19:16,650 No lo sé. 514 00:19:16,849 --> 00:19:17,650 ¿Para competir? 515 00:19:18,109 --> 00:19:19,210 No lo sé, ¿por qué lo cambia de nombre? 516 00:19:19,210 --> 00:19:20,930 ¿Hay que sostener al músculo para que...? 517 00:19:20,930 --> 00:19:23,549 Puede que para significarse. 518 00:19:24,390 --> 00:19:27,990 O sea, yo soy sprint y repositorio 519 00:19:27,990 --> 00:19:29,529 y forma parte de mi patrón de diseño. 520 00:19:29,750 --> 00:19:31,829 Si llamo DAO, estoy refiriéndome 521 00:19:31,829 --> 00:19:33,130 a algo propiedad de todo el mundo. 522 00:19:34,049 --> 00:19:35,029 Bueno, tiene sentido. 523 00:19:36,029 --> 00:19:36,930 Pero es un DAO. 524 00:19:37,269 --> 00:19:41,430 los métodos del DAO 525 00:19:41,430 --> 00:19:43,230 porque es un DAO 526 00:19:43,230 --> 00:19:45,809 pero la magia viene 527 00:19:45,809 --> 00:19:48,650 en que te los hace 528 00:19:48,650 --> 00:19:49,529 él solitos 529 00:19:49,529 --> 00:19:51,130 no los tienes que hacer tú 530 00:19:51,130 --> 00:19:53,589 tú le dices, quiero un repositorio 531 00:19:53,589 --> 00:19:56,109 y si le dices, quiero un DAO, dice, vale, hácelo 532 00:19:56,109 --> 00:19:58,009 si le dices, quiero un repositorio, dice, ay, que bien 533 00:19:58,009 --> 00:19:59,589 y te hace todos los métodos 534 00:19:59,589 --> 00:20:00,410 dime 535 00:20:00,410 --> 00:20:17,509 Es porque el repositorio no está asociado a la base de datos, mientras que el DAO tiene conocimiento de la infraestructura que hay detrás. 536 00:20:18,329 --> 00:20:20,630 ¿Pero a través de qué tiene ese conocimiento el DAO? 537 00:20:21,809 --> 00:20:27,130 El DAO generalmente lo vas a utilizar porque tú vas a hacer una consulta SQL que sabes que va para MySQL. 538 00:20:27,130 --> 00:20:40,890 Pero en el DAO también lo abstraes. 539 00:20:41,730 --> 00:20:44,450 En el DAO normal también estamos abstraídos de eso. 540 00:20:49,890 --> 00:20:52,829 A ver, picas SQL si no estás con JPA. 541 00:20:53,730 --> 00:20:57,049 Porque si pones JPA ya has sacado, ya has abstraído. 542 00:20:57,130 --> 00:20:59,369 Pero bueno, que no sé 543 00:20:59,369 --> 00:21:00,470 Alguna razón tiene que haber 544 00:21:00,470 --> 00:21:03,089 Que tendrá algo que ver con eso 545 00:21:03,089 --> 00:21:04,690 Porque está más acoplado 546 00:21:04,690 --> 00:21:05,970 A la lógica del negocio 547 00:21:05,970 --> 00:21:08,829 Sí, que el repositorio está como más pegado 548 00:21:08,829 --> 00:21:10,490 A la capa de negocio 549 00:21:10,490 --> 00:21:13,630 Y DAO está más pegado a la capa de acceso a datos 550 00:21:13,630 --> 00:21:15,170 No lo sé 551 00:21:15,170 --> 00:21:16,750 O marketing 552 00:21:16,750 --> 00:21:18,690 Que de esto hay mucho marketing también 553 00:21:18,690 --> 00:21:20,490 Tiene que funcionar con el SQL por debajo 554 00:21:20,490 --> 00:21:22,210 Claro, eso no cambia 555 00:21:22,210 --> 00:21:23,809 Lo que pasa es que 556 00:21:23,809 --> 00:21:26,869 Pero Spring por debajo del repositorio 557 00:21:26,869 --> 00:21:28,509 Tiene sus propias capitas 558 00:21:28,509 --> 00:21:30,410 Y nosotros por debajo del DAO 559 00:21:30,410 --> 00:21:32,509 Tenemos directamente lo que hemos hecho nosotros 560 00:21:32,509 --> 00:21:33,869 Que es JPA 561 00:21:33,869 --> 00:21:36,390 Y JDBC, claro 562 00:21:36,390 --> 00:21:38,609 Vale, pues entonces, a ver 563 00:21:38,609 --> 00:21:40,390 Vamos a ver 564 00:21:40,390 --> 00:21:41,230 Ya no me enrollo 565 00:21:41,230 --> 00:21:43,670 O sí 566 00:21:43,670 --> 00:21:45,630 Venga, pues vamos a hacer 567 00:21:45,630 --> 00:21:46,710 Quita, por favor 568 00:21:46,710 --> 00:21:50,809 Vamos a ver 569 00:21:50,809 --> 00:21:53,630 Con una base de datos sencillita 570 00:21:53,630 --> 00:21:55,269 Para no liarnos 571 00:21:55,269 --> 00:21:57,289 Para ver el primer proyecto 572 00:21:57,289 --> 00:21:59,930 Y luego ya podéis hacer uno más complicado vosotros 573 00:21:59,930 --> 00:22:01,210 Entonces 574 00:22:01,210 --> 00:22:03,589 Estaba aquí 575 00:22:03,589 --> 00:22:08,920 Yo ya no sé lo que tengo aquí 576 00:22:08,920 --> 00:22:10,319 Debería ir borrando según 577 00:22:10,319 --> 00:22:15,700 Bueno, da igual si estará por aquí 578 00:22:15,700 --> 00:22:17,539 Esta era 579 00:22:17,539 --> 00:22:18,900 Spring Data 580 00:22:18,900 --> 00:22:19,480 Aquí 581 00:22:19,480 --> 00:22:25,609 Y a ver si me acuerdo 582 00:22:25,609 --> 00:22:29,289 ¿Eh? 583 00:22:32,029 --> 00:22:33,150 A ver, no, en realidad 584 00:22:33,150 --> 00:22:34,809 no hace falta, lo de Spring Tools 585 00:22:34,809 --> 00:22:36,730 es muy cómodo cuando es la aplicación 586 00:22:36,730 --> 00:22:37,390 con Spring Boot 587 00:22:37,390 --> 00:22:40,490 bueno, lo podemos 588 00:22:40,490 --> 00:22:43,890 porque el Spring Tools 589 00:22:43,890 --> 00:22:48,869 eso sí, porque con el Spring Tools 590 00:22:48,869 --> 00:22:50,730 tú cuando arrancas un proyecto lo marcas 591 00:22:50,730 --> 00:22:52,869 y ya está, sí, pero bueno, voy a subir el POM y ya está 592 00:22:52,869 --> 00:22:54,769 luego el siguiente, sí que lo 593 00:22:54,769 --> 00:22:56,329 hacemos con Spring Tools y se acabó 594 00:22:56,329 --> 00:22:58,950 entonces quiero ver aquí la base de datos 595 00:22:58,950 --> 00:23:04,009 ¿cómo se llamaba? 596 00:23:06,029 --> 00:23:08,069 nada nuevo tampoco, o sea, estábamos 597 00:23:08,069 --> 00:23:10,369 revisando, se ha parado 598 00:23:10,369 --> 00:23:12,170 mientras hacíais la base de datos, si estábamos 599 00:23:12,170 --> 00:23:14,390 revisando estas anotaciones, que no tienen 600 00:23:14,390 --> 00:23:16,210 nada que no sepamos, esto que se ha quedado 601 00:23:16,210 --> 00:23:18,289 pendiente de acabar concretando del todo 602 00:23:18,289 --> 00:23:20,490 y ya está, y esto 603 00:23:20,490 --> 00:23:21,569 que era lo del otro día 604 00:23:21,569 --> 00:23:24,089 y luego cliente y 605 00:23:24,089 --> 00:23:26,029 pedido, tampoco tiene nada nuevo 606 00:23:26,029 --> 00:23:28,210 entidad, la clave primaria 607 00:23:28,210 --> 00:23:29,789 y la 608 00:23:29,789 --> 00:23:31,529 many to one 609 00:23:31,529 --> 00:23:34,150 ¿vale? ya está, que por defecto es sigue 610 00:23:34,150 --> 00:23:35,789 se pone en lazy y se acabó, vale 611 00:23:35,789 --> 00:23:40,789 Bueno, pues el modelo estaría 612 00:23:40,789 --> 00:23:42,450 Me hace faltaría 613 00:23:42,450 --> 00:23:44,089 El join column 614 00:23:44,089 --> 00:23:47,650 El join column 615 00:23:47,650 --> 00:23:50,309 El de líder 616 00:23:50,309 --> 00:23:52,670 Ay, no lo he puesto, se me ha olvidado 617 00:23:52,670 --> 00:23:54,950 Pedido, many to one 618 00:23:54,950 --> 00:23:56,269 Pedido, sí, tienes toda la razón 619 00:23:56,269 --> 00:23:59,250 Por escribir tan rápido 620 00:23:59,250 --> 00:24:01,410 Join column 621 00:24:01,410 --> 00:24:03,410 Name 622 00:24:03,410 --> 00:24:04,670 Igual a 623 00:24:04,670 --> 00:24:08,509 Cliente id 624 00:24:08,509 --> 00:24:13,549 cliente barra baja 625 00:24:13,549 --> 00:24:14,630 y de 626 00:24:14,630 --> 00:24:17,210 este cliente viene de aquí 627 00:24:17,210 --> 00:24:19,289 de cliente barra baja y de 628 00:24:19,289 --> 00:24:21,009 porque no lo había puesto en el get 629 00:24:21,009 --> 00:24:22,170 es que a veces lo pongo en el get 630 00:24:22,170 --> 00:24:23,609 no, pero aquí no lo había puesto 631 00:24:23,609 --> 00:24:24,869 vale 632 00:24:24,869 --> 00:24:26,970 ¿eh? 633 00:24:26,970 --> 00:24:27,049 ¿eh? 634 00:24:32,190 --> 00:24:32,589 ah 635 00:24:32,589 --> 00:24:35,049 ahí abajo han pedido 636 00:24:35,049 --> 00:24:37,109 eeeeh 637 00:24:38,390 --> 00:24:39,829 este no lo sé 638 00:24:39,829 --> 00:24:40,230 porque 639 00:24:40,230 --> 00:24:42,470 a ver 640 00:24:42,470 --> 00:24:45,829 porque esta clase le di el script 641 00:24:45,829 --> 00:24:47,470 hgpt para que me las escribiera 642 00:24:47,470 --> 00:24:49,529 y este protected 643 00:24:49,529 --> 00:24:51,049 porque ha puesto este protected 644 00:24:51,049 --> 00:24:53,410 para que no pueda instanciar 645 00:24:53,410 --> 00:24:55,490 nadie que no sean 646 00:24:55,490 --> 00:24:58,490 subclases 647 00:24:58,490 --> 00:25:00,069 si yo pongo aquí un protected 648 00:25:00,069 --> 00:25:02,450 solo me puede instanciar 649 00:25:02,450 --> 00:25:04,630 una subclase 650 00:25:04,630 --> 00:25:07,130 independientemente del paquete en el que esté 651 00:25:07,130 --> 00:25:09,470 y también me pueden instanciar de la propia clase 652 00:25:09,470 --> 00:25:10,569 eso significaba el protected 653 00:25:10,569 --> 00:25:12,549 ¿verdad? entonces ¿por qué 654 00:25:12,549 --> 00:25:14,730 prohíbo que me instancien 655 00:25:14,730 --> 00:25:16,690 gente que no sea 656 00:25:16,690 --> 00:25:17,829 de mi subclase? 657 00:25:21,299 --> 00:25:23,079 y sin embargo aquí tengo un public 658 00:25:23,079 --> 00:25:25,319 no lo sé, así que 659 00:25:25,319 --> 00:25:28,680 lo quito, fuera 660 00:25:28,680 --> 00:25:32,240 vale 661 00:25:32,240 --> 00:25:35,119 ¿y en cliente también estará 662 00:25:35,119 --> 00:25:36,660 igual? sí, pues lo quito, lo quitamos 663 00:25:36,660 --> 00:25:38,119 public 664 00:25:38,119 --> 00:25:39,759 vale 665 00:25:39,759 --> 00:25:41,980 sí 666 00:25:41,980 --> 00:25:43,420 vaya 667 00:25:43,420 --> 00:25:54,779 Ah, eso da igual 668 00:25:54,779 --> 00:25:56,819 No, no, no, el table name no 669 00:25:56,819 --> 00:25:58,640 Aquí dices, no, no, no 670 00:25:58,640 --> 00:26:00,599 Ahí no 671 00:26:00,599 --> 00:26:02,839 Con los nombres de 672 00:26:02,839 --> 00:26:07,180 MySQL no distingue mayúsculas y minúsculas 673 00:26:07,180 --> 00:26:08,599 Con lo cual al cliente le va a llegar 674 00:26:08,599 --> 00:26:10,900 Todo en minúsculas 675 00:26:10,900 --> 00:26:11,400 Le va a llegar 676 00:26:11,400 --> 00:26:15,000 vale, entonces, ahora 677 00:26:15,000 --> 00:26:17,400 ahora es cuando haríamos el patrón DAO 678 00:26:17,400 --> 00:26:19,519 vale, pero nos lo va a hacer 679 00:26:19,519 --> 00:26:20,960 solo SPRINT 680 00:26:20,960 --> 00:26:23,039 esa es una de las cosas por la que hemos cogido 681 00:26:23,039 --> 00:26:25,440 pero para que nos lo haga solito 682 00:26:25,440 --> 00:26:27,160 SPRINT, pues tendremos que coger 683 00:26:27,160 --> 00:26:29,140 las dependencias de SPRINT 684 00:26:29,140 --> 00:26:31,460 vale, pues entonces 685 00:26:31,460 --> 00:26:33,539 yo aquí os podría pasar las mías 686 00:26:33,539 --> 00:26:35,359 pero vamos a hacer algo que es lo que 687 00:26:35,359 --> 00:26:37,539 haríamos o haríais más en condiciones normales 688 00:26:37,539 --> 00:26:38,380 que es 689 00:26:38,380 --> 00:26:41,240 buscarlas o pedís a echar GPT porque 690 00:26:41,240 --> 00:26:42,619 con suerte nos la da mal 691 00:26:42,619 --> 00:26:45,339 y nos da luego un error cuando ejecutemos 692 00:26:45,339 --> 00:26:46,440 y nos toca arreglarlo 693 00:26:46,440 --> 00:26:49,500 ¿vale? y así si nos toca arreglarlo ya diremos 694 00:26:49,500 --> 00:26:51,259 estas dependencias, cuidado 695 00:26:51,259 --> 00:26:53,279 que no son, entonces más que coger 696 00:26:53,279 --> 00:26:55,339 las mías, vamos a decirle 697 00:26:55,940 --> 00:26:58,779 vale 698 00:26:58,779 --> 00:27:01,059 venga, ¿os gusta más Gemini? 699 00:27:03,680 --> 00:27:05,299 ah, vale, vale, pues Gemini 700 00:27:05,299 --> 00:27:05,880 venga 701 00:27:12,619 --> 00:27:27,380 Joder 702 00:27:27,380 --> 00:27:31,049 No me digas que me he olvidado la contraseña 703 00:27:39,049 --> 00:27:41,089 A ver, yo quiero que me vuelva a pedir la contraseña 704 00:27:41,089 --> 00:27:43,009 Espera, si vuelvo a hacer esto 705 00:27:43,009 --> 00:27:47,130 Bueno, como ya tiene la 706 00:27:47,130 --> 00:27:51,329 Vale, a ver 707 00:27:51,329 --> 00:27:58,910 A ver 708 00:27:58,910 --> 00:28:03,950 Ah, que susto, que ya se me había olvidado 709 00:28:03,950 --> 00:28:06,089 Vale, pero yo pegué dentro de Gmail 710 00:28:06,089 --> 00:28:07,369 Yo quería entrar en Gemini 711 00:28:07,369 --> 00:28:10,809 Vale, esto fuera 712 00:28:10,809 --> 00:28:25,970 dame el 713 00:28:25,970 --> 00:28:28,029 pom.xml 714 00:28:28,029 --> 00:28:29,569 de un 715 00:28:29,569 --> 00:28:31,470 proyecto maven 716 00:28:31,470 --> 00:28:36,410 que va a usar 717 00:28:36,410 --> 00:28:39,349 sprint 718 00:28:39,349 --> 00:28:41,990 Data JPA 719 00:28:41,990 --> 00:28:45,329 MySQL 720 00:28:45,329 --> 00:28:49,269 Jakarta, no creo 721 00:28:49,269 --> 00:28:50,930 No va a hacer falta que se lo diga 722 00:28:50,930 --> 00:28:52,089 Le voy a decir esto solamente 723 00:28:52,089 --> 00:29:02,279 Starter de Spring Boot 724 00:29:02,279 --> 00:29:04,240 No, yo no quiero Spring Boot, pero bueno 725 00:29:04,240 --> 00:29:06,420 A mí también me va a dar Starter 726 00:29:06,420 --> 00:29:11,019 Longbook 727 00:29:11,019 --> 00:29:13,059 No quiero Longbook tampoco 728 00:29:13,059 --> 00:29:20,500 es que yo no lo voy a usar 729 00:29:20,500 --> 00:29:22,400 con Spring Boot porque no voy a poner la anotación 730 00:29:22,400 --> 00:29:23,039 de Spring Boot 731 00:29:23,039 --> 00:29:25,920 ahora, luego ya sí 732 00:29:25,920 --> 00:29:26,859 luego ya sí 733 00:29:26,859 --> 00:29:30,099 no quiero Spring Boot 734 00:29:30,099 --> 00:29:32,259 por ahora 735 00:29:32,259 --> 00:29:38,839 vale, el posteo es un poco más manual 736 00:29:38,839 --> 00:29:40,059 que es lo que nos gusta a nosotros 737 00:29:40,059 --> 00:29:42,640 vale, el para bla bla bla 738 00:29:42,640 --> 00:29:44,519 maven puro, nivel de distancia 739 00:29:44,519 --> 00:29:46,259 el conector de MySQL, vale 740 00:29:46,259 --> 00:29:48,660 ahora ya, al no usar Spring Boot 741 00:29:48,660 --> 00:29:50,039 tenemos que especificarle 742 00:29:50,039 --> 00:29:52,559 que es hibernate lo que, y entonces 743 00:29:52,559 --> 00:29:53,339 me está dando 744 00:29:53,339 --> 00:29:57,119 nada, esto nada 745 00:29:57,119 --> 00:29:59,000 me está dando, el hibernate 746 00:29:59,000 --> 00:30:00,779 eso lo sabíamos, el conector 747 00:30:00,779 --> 00:30:02,640 eso lo sabíamos, este 748 00:30:02,640 --> 00:30:04,180 que 749 00:30:04,180 --> 00:30:06,220 hace falta para algunas 750 00:30:06,220 --> 00:30:08,920 en algunas de las que vamos a poner 751 00:30:08,920 --> 00:30:10,619 hace falta para algunas anotaciones 752 00:30:10,619 --> 00:30:12,720 y para otras no, para las nuestras no hace falta 753 00:30:12,720 --> 00:30:15,000 Yacarta, no lo hemos usado, de hecho, hasta ahora 754 00:30:15,000 --> 00:30:17,000 No 755 00:30:17,000 --> 00:30:18,140 ¿Y dónde está Spring Data? 756 00:30:19,140 --> 00:30:19,980 Haz el favor 757 00:30:19,980 --> 00:30:27,289 Pero 758 00:30:27,289 --> 00:30:29,049 Voy 759 00:30:29,049 --> 00:30:31,890 A usar 760 00:30:31,890 --> 00:30:34,269 Spring Data 761 00:30:34,269 --> 00:30:35,609 JPA 762 00:30:35,609 --> 00:30:37,529 Sin 763 00:30:37,529 --> 00:30:39,329 Spring Boot 764 00:30:39,329 --> 00:30:41,390 Jolín 765 00:30:41,390 --> 00:30:44,049 Este es más torpe 766 00:30:44,049 --> 00:30:46,509 vale 767 00:30:46,509 --> 00:30:48,849 la gracia es que es más torpe 768 00:30:48,849 --> 00:31:00,970 vale, este tiene 769 00:31:00,970 --> 00:31:03,390 Spring Framework Data, esto ya si me gusta 770 00:31:03,390 --> 00:31:05,609 hibernate, conector 771 00:31:05,609 --> 00:31:06,950 Spring Framework Normal 772 00:31:06,950 --> 00:31:09,190 esto vale, esta ya si 773 00:31:09,190 --> 00:31:11,349 esta tiene pinta de que nos ha acertado 774 00:31:11,349 --> 00:31:12,970 vale, pues 775 00:31:12,970 --> 00:31:15,849 copiamos esto en las dependencias 776 00:31:15,849 --> 00:31:17,849 y el martes vemos como 777 00:31:17,849 --> 00:31:19,890 pongo repositor y pin 778 00:31:19,890 --> 00:31:21,769 ya está, ya está todo hecho 779 00:31:21,769 --> 00:31:24,049 claro, todo lo que él nos puede 780 00:31:24,049 --> 00:31:26,049 ofrecer que llega hasta unas limitaciones 781 00:31:26,049 --> 00:31:27,509 luego nosotros le podemos añadir más cosas 782 00:31:27,509 --> 00:31:30,130 y que más nos quedaría añadir en este proyecto 783 00:31:30,130 --> 00:31:31,890 la gestión de los bins 784 00:31:31,890 --> 00:31:34,009 quien instancia el repositor 785 00:31:34,009 --> 00:31:35,150 y quien instancia no se que 786 00:31:35,150 --> 00:31:38,390 pero bueno, eso se hace en dos patadas 787 00:31:38,390 --> 00:31:40,490 venga pues vamos a 788 00:31:40,490 --> 00:31:45,579 con Spring 789 00:31:45,579 --> 00:31:48,240 cuando habíamos trabajado 790 00:31:48,240 --> 00:31:48,700 ya con