Empecé viendo un video tuyo el de Spring Security 6 y ahora ya no puedo dejar de ver los demás videos por la calidad de explicación y empeño que se nota que le pones, gracias profe
Muy buena explicacion para entender como funciona de fondo el repository, a veces hacemos las cosas en automatico y no entendemos el funcionamiento atras del codigo gracias!!!!
Gran video, en un video solo, he aprendido a utilizar bien el DTO y DAO, y descubierto la existencia de Lombok, ahora me tocara mirarme tu video sobre Lombok. Muchas gracias!!
Muy bien explicado, como dicen cortito y al pie. facil de entender con ejemplos sencillos para comprender esa duda que existe entre DTO vs DAO que a muchos nos costo y cuesta cuando estamos aprendiendo sobre patrones.
Wow con esta explicacion me quede clarisimo me revolvia con los dao y dto pero lo entendi muy bien ahora voy a ver el de mapper porque aun me cuesta mappear Graciasss. Debes de crear cursos en Udemy no lo explican como tu enserio
Excelente forma de explicar y abarcar un tema tan importante a la hora de desarrollar en Java, gracias a tan detalladas explicaciones es posible entender no solo este maravilloso lenguaje de programación sino tambien conceptos técnicos muy importantes del día a día.
Excelente video, amigo, soy nuevo aprendiendo Spring y te doy las gracias porque me has hecho entender en menor tiempo mucho más de lo que pude haber entendido antes, eres literalmente un maestro. Sobre el video, solo me quedó la inquietud que no validaste las excepciones al momento de hacer el CRUD en la API Rest al finalizar el video.
Hola, muchas gracias por tu comentario. Este video solamente trataba sobre la diferencia entre DAO y DTO, manejo de errores es un tema aparte. Jeje! ¡Saludos!
Muchas veces empezamos a crear nuestros proyectos en base a algún tutorial sin saber que patrones estamos aplicando y peor del por qué se aplica un patrón, gracias a estos vídeos sabemos el motivo real de estos patrones, gracias por los videos
Me gustó mucho el vídeo, además como explica mediante la gráfica. Yo si quisiera saber porque no se debe usar @Data en un Entity. Gracias y siga adelante con los vídeos.
La verdad no soy mucho de comentar en videos, pero la verdad es que tu contenido es muy bueno, además tus explicaciones son geniales te felicito, podrías hacer una una serie de arquitecturas , se que toma tiempo pero podría ser interesante.
Te recomiendo buscar videos de handlers o interceptores creo que se llamaria. Lo que haces es crear una Exception personalizada y despues con una clase de tipo @RestControllerAdvice insertas los metodos de tipo @ExceptionHandlers. Lo que tenes que hacer es que la excepcion llegue al metodo del controller para que los handlers funcionen (no lo recuerdo bien si era asi). Pero busca videos sobre ExceptionHandlers, hay muchos y es re simple usarlos... Incluso podes crear Handlers para cuando no envian body, pathvariables y esas cosas, ademas de que podes usarlo con la dependencia de Validation y quedaria super tu API REST
Excelente tus videos, aclaran muchas dudas y ayudan a mejorar con las buenas practicas. Seria bueno ver algun video de como se integra Swagger con SpingBoot
Hola, muchas gracias por comentar. Te invito a revisar los vídeos del canal, cuando lo hagas te darás cuenta que el vídeo de spring boot con swagger ya se encuentra disponible, te comparto el enlace: ua-cam.com/video/SVZZ3B5gwuM/v-deo.html También te invito a suscribirte y activar la campana de notificaciones, así estarás enterado de los nuevos vídeos. ¡Saludos!
Excelente tutorial, lo único que me hace ruido y me gustaría en lo posible ampliar este mini proyecto para: manejo de excepciones y trabajar la capa de negocio haciendo validaciones y demás. Siempre es bueno aprender y repasar estas cuestiones. de todos modos a no confundir, me encanto el tutorial todo muy claro
Hola, entiendo tu punto de vista, pero ya tengo otros videos tratando esos temas. Adicionalmente no puedo mezclar diferentes temas porque El objetivo es explicar cada cosa en especifico. Pronto vienen proyectos combinando todo. ¡Saludos!
Excelente video profe, que gran metodología de enseñanza y llegada a las personas. Espero siga así y pueda seguir creando este gran contenido. Está en plataformas como udemy o algo similar?
Excelente video, pero no seria mejor comparar el patrón DAO con el Repository porque ambos patrones interactúan con la base de datos. El DTO es más para transportar datos.
Hola, es muy válida tu sugerencia. El tema es que muchas personas se confunden entre DAO y DTO; de hecho, por eso tuve que hacer el video, porque muchas no entienden bien la diferencia. Entiendo perfectamente a lo que te refieres, pero para alguien que no conoce absolutamente nada de esto, le puede costar entender que estos dos patrones funcionan de manera distinta. Aunque la diferencia entre repository y DAO no es tan grande, simplemente con DAO haces las cosas tú mismo y con Repository lo hace Spring. ¡No hay más que decir! Jejeje. Saludos.
Tengo una inquietud, con el uso del DAO y el DTO puedo evitar la recursión Infinita en la serialización?. Al tener entindades con relaciones bidireccionales siempre me ocurre dicha recursión, me sería de gran ayuda tu respuesta, gracias.
Hola, en el canal ya existe un video sobre Spring boot con Keycloak. Te comparto el enlace: ua-cam.com/video/zR3igUft1KA/v-deo.html Te invito a suscribirte al canal y activar la campana de notificaciones para que estés enterado de los temas que trato aqui en El canal. ¡Saludos!
He aprendido mucho con tus videos, te agradezco mucho por el contenido que nos proporciones. Y me gustaría que más adelante pudieras enseñarnos Herencia con spring boot, Sobretodo porque tengo una duda: cómo hago para crear una Entidad Person, la cual va a tener atributos como nombre, mail, teléfono y Address (la cual es otra Entidad, donde se almacenarán los detalles de la dirección). No obstante, Person es la case padre de Owner y Customer, las cuales tienen esos atributos en común más otros que no, además de la particularidad de que un Owner sólo puede tener una Address pero Customer puede tener muchas Address
Hola, tendré en cuenta tu sugerencia. Pero para manejar herencia con JPA se tienen que tener algunas cosas en cuenta, claro que JPA nos ayuda a trabajar con eso, pero es complicado explicartelo en un comentario, mi consejo es que busques un poco de documentacion en google. Espero puedas resolverlo. ¡Saludos!
Muy buena explicación, solo una duda, retorno del la creacion usuario, para efectos d emostrar el ID, tendriaos que recuperarlo también u no un null, no?
Hola, la aplicacion puede mejorarse o funcionar como tu quieras. Este es solo un demo de ejemplo. Ese null podria quitarse o retornar directamente el ID del usuario creado. Saludos.
Quisiera que crearas un video acerca de las Relaciones, por ejemplo OneToMany, ManyToOne, etc mediante un ejercicios. Ojalá lo tuvieras en cuenta. Gracias
Hola, si revisas los videos del canal de darás cuenta que ya tengo 2 videos hablando del tema, te los comparto: Relaciones con JPA: ua-cam.com/video/6RQTsx_6wXo/v-deo.html Relaciones bidireccionales vs unidireccionales: ua-cam.com/video/NnNzisMeRWk/v-deo.html Te invito a suscribirte al canal y activar la campana de notificaciones para que estes enterado de los temas que voy tratando en el canal. ¡Saludos!
Muchas gracias. Comence a verlo y estoy aprendiendo muchos conceptos que los tenia confusos. En el futuro podrías hacer alguna tutorial para generar reportes en pdf? gracias!
Hola, muchas gracias por tu comentario. Desde hace bastante tiempo existe en el canal un video sobre creación de reportes en PDF, te comparto el enlace: ua-cam.com/video/UExwNGhEcZc/v-deo.html También te invito a suscribirte al canal y activar la campana de notificaciones para que estés enterado de todos los temas que voy tratando en el canal. ¡Saludos!
Que buen video amigo, pase tambien por elvideo de dominando la ccreacion de APIs , pero precisamente yo lo implemente con el uso de repositorios, es recomenable usar esta manera o la puedo dejar implementada con el uso de repositorios? graacias de antemano, bebnciones¡¡
Hola, a mí me gusta más trabajar con repositorios, sin embargo es bueno que conozcas lo que hace el repository por debajo y también si en algún momento necesitas personalizar más las cosas, puedes trabajar de esta manera. ¡Saludos!
Una Consulta , tu explicaste el CRUD con Entity Manager , existe otra manera que la enseñan , usando CrudRepository , cual recomiendas ? . Muchas gracias
Aprecio mucho tus esfuerzos! Necesito un consejo: Mi billetera OKX contiene USDT y tengo la frase de recuperación. (alarm fetch churn bridge exercise tape speak race clerk couch crater letter). ¿Cómo puedo transferirlos a Binance?
Hola, CUIDADO con esa percepcion, el repository podria facilmente reemplazar al DAO, pero el DTO es otra cosa completamente aparte. En algo en lo que concuerdo contigo es que obviamente el repository es mas usado y simplifica mucho todo, pero de Igual modo es bueno conocer estos conceptos para saber como funciona Spring por dentro. ¡Saludos!
una pregunta, por que usas @Autowirred? no seria mejor utilizar directamente la anotacion en la clase el @RequieredArgsContructor? y definir el dao como un final cuando lo instaciamos?
Hola Carla, muchas gracias por tu pregunta. Te comento: Lo primero que debes tener claro es que en Spring (De forma nativa) existen 3 formas diferentes de inyectar dependencias: 1) Por constructor 2) Por metodo setter 3) Usando @Autowired Esas son las 3 formas nativas de hacerlo. Cuando usas @RequiredArgsContructor (Anotacion propia de Lombok), lo que estas haciendo en una inyeccion por constructor, obviamente es automatizado por Lombok, pero es completamente valido. Conclusion: Cualquiera de las 3 formas de inyeccion son correctas, tambien puedes usar Lombok con esa anotacion. Puedes trabajar como mas te gusta. ¡Saludos!
@@unprogramadornace gracias, si no es mucho pedir, sera que puedes hacer un video de las buenas practicas en el servicio repositorio o dao en el model, o un video de buenas practicas general usando spring boot. si es posible
Tienes razón, cualquiera de las tres formas es válida. Sin embargo, una mejor práctica es utilizar @RequiredArgsConstructor junto con private final. Esto mejora la integración con los principios SOLID, especialmente con el principio de inversión de dependencias. Además, es recomendable evitar el uso de @Autowired, ya que puede generar inyecciones implícitas o 'mágicas', lo que puede dificultar las pruebas y el seguimiento del código.
Hola, el modelview es un objeto especial de Spring MVC que nos ayuda a pasar información a la vista y el DTO es un objeto que también nos ayuda a compartir información pero en este caso no sólo a la vista sino a diferentes sistemas, clases, etc. ¡Saludos!
Hola, de hecho usas @Data para las relaciones no tiene nada de malo, no se recomienda utilizar por otros motivos relacionados con la carga perezosa de JPA, se viene un video hablando del tema. ¡Saludos!
La verdad no me gusta mucho tu sugerencia, jeje aunque la respeto, porque si por cada entidad debemos tener un request, DTO y DAO quiere decir que por cada entidad debo tener 3 clases. ¿Vale?. ¿Que pasa si tenemos 100 entidades? Eso quiere decir que por cada una de ellas vas a necesitar 3 clases, eso va a causar que tú aplicación sea gigante y el peso va a ser mayor. Sería aumentar la complejidad sin obtener muchos beneficios. Lo normal es manejar por cada entity un DTO y un Repository o DAO. ¡Saludos!
Buen video, muy util, entendible, y visualmente agradable, saludos! PD: Vos mapeas un userDTO a un userDAO, peeeero, que pasa si el DTO tiene el contenido de distintas Entity's? Por ejemplo que el DTO tenga: private String name; private String address; Y que el name y el address sean de distintas tablas, una de Persona (name) y otra de Direccion (address) Cómo mapearias?
Hola, cuando un DTO tiene que proveer de información a varios entities debes crear los objetos entity y a través de los métodos setter comenzar a transferir la información campo por campo. Para el intellij IDEA ya tengo un vídeo completo explicando mi configuración, te lo comparto: ua-cam.com/video/xyKsnuuHHRI/v-deo.htmlsi=d1Bt02Dun3yaBTRH ¡Saludos!
Hola, tienes toda la razón; se usan para cosas distintas. La justificación del VS es porque a mucha gente le dificulta diferenciar estos dos patrones; se confunden un poco. Por ese motivo puse ese nombre. Pero, tienes toda la razón: se usan para cosas diferentes. ¡Saludos!
Empecé viendo un video tuyo el de Spring Security 6 y ahora ya no puedo dejar de ver los demás videos por la calidad de explicación y empeño que se nota que le pones, gracias profe
Gracias por tus palabras y por tomarte el tiempo de comentar.
¡Saludos!
Muy buena explicacion para entender como funciona de fondo el repository, a veces hacemos las cosas en automatico y no entendemos el funcionamiento atras del codigo gracias!!!!
Gran video, en un video solo, he aprendido a utilizar bien el DTO y DAO, y descubierto la existencia de Lombok, ahora me tocara mirarme tu video sobre Lombok.
Muchas gracias!!
Muchas gracias!!!, me enseñaron esto en mi instituto pero de forma muy superrficial , gracias a tu video ahora lo entiendo mejor :D
Muy bien explicado, como dicen cortito y al pie. facil de entender con ejemplos sencillos para comprender esa duda que existe entre DTO vs DAO que a muchos nos costo y cuesta cuando estamos aprendiendo sobre patrones.
Muchas gracias por comentar.
Saludos.
Justo lo que consultaba en otro de tus videos, con esto se responde a mi consulta que dejé por allá xD. Gracias✌️
Wow con esta explicacion me quede clarisimo me revolvia con los dao y dto pero lo entendi muy bien ahora voy a ver el de mapper porque aun me cuesta mappear Graciasss. Debes de crear cursos en Udemy no lo explican como tu enserio
Aún sin verlo pero estoy seguro que ayudará mucho y a muchos, gracias por los aportes.
Excelente explicación brother!
La verdad muy buenas prácticas 😊
Excelente forma de explicar y abarcar un tema tan importante a la hora de desarrollar en Java, gracias a tan detalladas explicaciones es posible entender no solo este maravilloso lenguaje de programación sino tambien conceptos técnicos muy importantes del día a día.
Gracias por tomarte el tiempo de comentar.
¡Saludos!
Excelente video, amigo, soy nuevo aprendiendo Spring y te doy las gracias porque me has hecho entender en menor tiempo mucho más de lo que pude haber entendido antes, eres literalmente un maestro. Sobre el video, solo me quedó la inquietud que no validaste las excepciones al momento de hacer el CRUD en la API Rest al finalizar el video.
Hola, muchas gracias por tu comentario. Este video solamente trataba sobre la diferencia entre DAO y DTO, manejo de errores es un tema aparte. Jeje!
¡Saludos!
@@unprogramadornace gracias; disculpa, soy nuevo en el canal; tienes algún video que trate sobre el tema?
@@leonardopaez894 Hola, por ahora no tengo videos sobre manejo de excepciones.
¡Saludos!
Todavía no lo veo y ya le di like... Se que es una super clase... Cómo siempre.
Gracias por la fidelidad.
¡Saludos!
Como siempre una explicación increíble siempre tus videos son de lo mejor, gracias por el tiempo y la dedicación
Gracias a ti por comentar.
¡Saludos!
Excelente profe, explica todo muy bien y entendible, estaba en 0´s
Justo lo que necesitaba agregar a la arquitectura hexagonal en springboot, gracias
Muchas veces empezamos a crear nuestros proyectos en base a algún tutorial sin saber que patrones estamos aplicando y peor del por qué se aplica un patrón, gracias a estos vídeos sabemos el motivo real de estos patrones, gracias por los videos
Hola, me alegra que después de ver el vídeo tengas un poco más claro algunos conceptos. Gracias por comentarlo.
¡Saludos!
Santi parce, sos un mounstro, que tipo tan calidoso🎉
Gracias por comentar.
¡Saludos!
Excelente tutorial, favor indicar la documentación que hace la recomendación del porque no usar @Data en la entidad. Muchas gracias profesor.
Me gustó mucho el vídeo, además como explica mediante la gráfica. Yo si quisiera saber porque no se debe usar @Data en un Entity. Gracias y siga adelante con los vídeos.
Excelente contenido, de verdad me ha aclarado las dudas, soy fan de tu canal! Muchas gracias!! Un saludo
Gracias por comentar y por seguir el canal.
¡Saludos!
Excelente Video! una explicación muy clara! Muchas Gracias
Excelente video para aclarar los conceptos, muchas gracias. Una sugerencia de videos podría ser socket o hashicorp vault, muchas gracias por todo
Woww Tremendo video, muchas gracias por el contenido
Buen video , cuando un video de spring-data-jpa-entity-graph para consultas dinamicas y evitar tantos querys en el back.
Hola, gracias por comentar. Voy a tener en cuenta tu sugerencia.
Saludos.
La verdad no soy mucho de comentar en videos, pero la verdad es que tu contenido es muy bueno, además tus explicaciones son geniales te felicito, podrías hacer una una serie de arquitecturas , se que toma tiempo pero podría ser interesante.
Muchas gracias por tu comentario; voy a tener en cuenta tu sugerencia.
¡Saludos!
excelente!! gracias
Muy buen video, me gustaría que crearas otro enseñando como controlar los errores y como mandar las respuestas de los errores al cliente.
Te recomiendo buscar videos de handlers o interceptores creo que se llamaria. Lo que haces es crear una Exception personalizada y despues con una clase de tipo @RestControllerAdvice insertas los metodos de tipo @ExceptionHandlers. Lo que tenes que hacer es que la excepcion llegue al metodo del controller para que los handlers funcionen (no lo recuerdo bien si era asi). Pero busca videos sobre ExceptionHandlers, hay muchos y es re simple usarlos... Incluso podes crear Handlers para cuando no envian body, pathvariables y esas cosas, ademas de que podes usarlo con la dependencia de Validation y quedaria super tu API REST
Excelente tus videos, aclaran muchas dudas y ayudan a mejorar con las buenas practicas. Seria bueno ver algun video de como se integra Swagger con SpingBoot
Hola, muchas gracias por comentar. Te invito a revisar los vídeos del canal, cuando lo hagas te darás cuenta que el vídeo de spring boot con swagger ya se encuentra disponible, te comparto el enlace:
ua-cam.com/video/SVZZ3B5gwuM/v-deo.html
También te invito a suscribirte y activar la campana de notificaciones, así estarás enterado de los nuevos vídeos.
¡Saludos!
Excelente tutorial, lo único que me hace ruido y me gustaría en lo posible ampliar este mini proyecto para: manejo de excepciones y trabajar la capa de negocio haciendo validaciones y demás. Siempre es bueno aprender y repasar estas cuestiones. de todos modos a no confundir, me encanto el tutorial todo muy claro
Hola, entiendo tu punto de vista, pero ya tengo otros videos tratando esos temas. Adicionalmente no puedo mezclar diferentes temas porque El objetivo es explicar cada cosa en especifico. Pronto vienen proyectos combinando todo.
¡Saludos!
Muchas gracias! Fue muy util la explicación
Excelente explicacion , muchas gracias
Excelente explicación, gracias
Muchas gracias por la explicación excelente, como uno decide si usarlo de esta manera, o hacerlo con los repositorios y dejar que spring lo haga
que buena explicacion super bueno tus vdeos saludos
Excelente video , existe la posibilidad de que realices un vídeo de manejo de excepciones y errores 🙏🙏
Gracias por comentar. Tendré en cuenta tu sugerencia.
¡Saludos!
Clase magistral
Excelente video profe, que gran metodología de enseñanza y llegada a las personas. Espero siga así y pueda seguir creando este gran contenido.
Está en plataformas como udemy o algo similar?
Hola, por ahora no tengo cursos en Udemy.
¡Saludos!
@@unprogramadornaceprofe de casualidad tendrá como desplegar el Back bien sea dockerizado o no?
Excelente video, pero no seria mejor comparar el patrón DAO con el Repository porque ambos patrones interactúan con la base de datos. El DTO es más para transportar datos.
Hola, es muy válida tu sugerencia. El tema es que muchas personas se confunden entre DAO y DTO; de hecho, por eso tuve que hacer el video, porque muchas no entienden bien la diferencia. Entiendo perfectamente a lo que te refieres, pero para alguien que no conoce absolutamente nada de esto, le puede costar entender que estos dos patrones funcionan de manera distinta. Aunque la diferencia entre repository y DAO no es tan grande, simplemente con DAO haces las cosas tú mismo y con Repository lo hace Spring. ¡No hay más que decir! Jejeje.
Saludos.
Muy buen curso 🎉 si es posible explicar porque no poner en las entitys el arroba data
Tengo una inquietud, con el uso del DAO y el DTO puedo evitar la recursión Infinita en la serialización?. Al tener entindades con relaciones bidireccionales siempre me ocurre dicha recursión, me sería de gran ayuda tu respuesta, gracias.
Gracias como siempre por el buen contenido! si puedes crear contenido de seguridad en spring boot con Keycloak seria lo maximo.
Hola, en el canal ya existe un video sobre Spring boot con Keycloak.
Te comparto el enlace:
ua-cam.com/video/zR3igUft1KA/v-deo.html
Te invito a suscribirte al canal y activar la campana de notificaciones para que estés enterado de los temas que trato aqui en El canal.
¡Saludos!
Podrías por favor implementar monolito modular para comprender como se comunican y estructura??
excelente te amo mucho
He aprendido mucho con tus videos, te agradezco mucho por el contenido que nos proporciones. Y me gustaría que más adelante pudieras enseñarnos Herencia con spring boot, Sobretodo porque tengo una duda: cómo hago para crear una Entidad Person, la cual va a tener atributos como nombre, mail, teléfono y Address (la cual es otra Entidad, donde se almacenarán los detalles de la dirección). No obstante, Person es la case padre de Owner y Customer, las cuales tienen esos atributos en común más otros que no, además de la particularidad de que un Owner sólo puede tener una Address pero Customer puede tener muchas Address
Hola, tendré en cuenta tu sugerencia.
Pero para manejar herencia con JPA se tienen que tener algunas cosas en cuenta, claro que JPA nos ayuda a trabajar con eso, pero es complicado explicartelo en un comentario, mi consejo es que busques un poco de documentacion en google.
Espero puedas resolverlo.
¡Saludos!
Muy buena explicación, solo una duda, retorno del la creacion usuario, para efectos d emostrar el ID, tendriaos que recuperarlo también u no un null, no?
Hola, la aplicacion puede mejorarse o funcionar como tu quieras. Este es solo un demo de ejemplo. Ese null podria quitarse o retornar directamente el ID del usuario creado.
Saludos.
Quisiera que crearas un video acerca de las Relaciones, por ejemplo OneToMany, ManyToOne, etc mediante un ejercicios. Ojalá lo tuvieras en cuenta. Gracias
Hola, si revisas los videos del canal de darás cuenta que ya tengo 2 videos hablando del tema, te los comparto:
Relaciones con JPA: ua-cam.com/video/6RQTsx_6wXo/v-deo.html
Relaciones bidireccionales vs unidireccionales: ua-cam.com/video/NnNzisMeRWk/v-deo.html
Te invito a suscribirte al canal y activar la campana de notificaciones para que estes enterado de los temas que voy tratando en el canal.
¡Saludos!
@@unprogramadornace Que pena Santi que no revisé los vídeos en el canal. Graciss
@@TheSoporte No hay lío. Saludos.
Muchas gracias. Comence a verlo y estoy aprendiendo muchos conceptos que los tenia confusos. En el futuro podrías hacer alguna tutorial para generar reportes en pdf? gracias!
Hola, muchas gracias por tu comentario. Desde hace bastante tiempo existe en el canal un video sobre creación de reportes en PDF, te comparto el enlace:
ua-cam.com/video/UExwNGhEcZc/v-deo.html
También te invito a suscribirte al canal y activar la campana de notificaciones para que estés enterado de todos los temas que voy tratando en el canal.
¡Saludos!
Hola Saludos, Excelentes todos tus videos muchas gracias. para crear un DTO con atributos de distintas entidades como es el proceso?
Hola, el proceso es completamente mismo que se maneja en programación orientada a objetos. No cambia nada.
¡Saludos!
Que buen video amigo, pase tambien por elvideo de dominando la ccreacion de APIs , pero precisamente yo lo implemente con el uso de repositorios, es recomenable usar esta manera o la puedo dejar implementada con el uso de repositorios? graacias de antemano, bebnciones¡¡
Hola, a mí me gusta más trabajar con repositorios, sin embargo es bueno que conozcas lo que hace el repository por debajo y también si en algún momento necesitas personalizar más las cosas, puedes trabajar de esta manera.
¡Saludos!
Una Consulta , tu explicaste el CRUD con Entity Manager , existe otra manera que la enseñan , usando CrudRepository , cual recomiendas ? . Muchas gracias
Hola, a mí me gusta usar más los repositorios. Sin embargo, tenía que explicar cómo funciona el DAO para aquellos que no lo tenían claro.
Saludos.
BUEN VIDEO TIO NACE.
Santy una pregunta los DTO se pueden crear como Records (al menos con la data que se recibe de front) ya que pueden ser inmutables cierto?
Hola, claro que sí los DTO pueden ser récord tranquilamente.
¡Saludos!
Mil gracias n_n
Aprecio mucho tus esfuerzos! Necesito un consejo: Mi billetera OKX contiene USDT y tengo la frase de recuperación. (alarm fetch churn bridge exercise tape speak race clerk couch crater letter). ¿Cómo puedo transferirlos a Binance?
Hola, la verdad no tengo ni idea.
¡Saludos!
puede ser que ahora se use mas el repository que lo implemente directamente el service y listo, no entiendo la diferencia entre ambos, muy buen video!
Hola, CUIDADO con esa percepcion, el repository podria facilmente reemplazar al DAO, pero el DTO es otra cosa completamente aparte. En algo en lo que concuerdo contigo es que obviamente el repository es mas usado y simplifica mucho todo, pero de Igual modo es bueno conocer estos conceptos para saber como funciona Spring por dentro.
¡Saludos!
una pregunta, por que usas @Autowirred? no seria mejor utilizar directamente la anotacion en la clase el @RequieredArgsContructor? y definir el dao como un final cuando lo instaciamos?
Hola Carla, muchas gracias por tu pregunta. Te comento:
Lo primero que debes tener claro es que en Spring (De forma nativa) existen 3 formas diferentes de inyectar dependencias:
1) Por constructor
2) Por metodo setter
3) Usando @Autowired
Esas son las 3 formas nativas de hacerlo.
Cuando usas @RequiredArgsContructor (Anotacion propia de Lombok), lo que estas haciendo en una inyeccion por constructor, obviamente es automatizado por Lombok, pero es completamente valido.
Conclusion:
Cualquiera de las 3 formas de inyeccion son correctas, tambien puedes usar Lombok con esa anotacion. Puedes trabajar como mas te gusta.
¡Saludos!
@@unprogramadornace gracias, si no es mucho pedir, sera que puedes hacer un video de las buenas practicas en el servicio repositorio o dao en el model, o un video de buenas practicas general usando spring boot. si es posible
Me lo apunto.
¡Saludos!
Tienes razón, cualquiera de las tres formas es válida. Sin embargo, una mejor práctica es utilizar @RequiredArgsConstructor junto con private final. Esto mejora la integración con los principios SOLID, especialmente con el principio de inversión de dependencias. Además, es recomendable evitar el uso de @Autowired, ya que puede generar inyecciones implícitas o 'mágicas', lo que puede dificultar las pruebas y el seguimiento del código.
Increíble manera de explicar , pero me queda una duda cuál es la diferencia entre un viewmodel y un DTO ?
Hola, el modelview es un objeto especial de Spring MVC que nos ayuda a pasar información a la vista y el DTO es un objeto que también nos ayuda a compartir información pero en este caso no sólo a la vista sino a diferentes sistemas, clases, etc.
¡Saludos!
creo que no se utiliza @Data en el entity para evitar problemas que interfieren en las relaciones y eso entraría a ser una mala practica? XD?
Hola, de hecho usas @Data para las relaciones no tiene nada de malo, no se recomienda utilizar por otros motivos relacionados con la carga perezosa de JPA, se viene un video hablando del tema.
¡Saludos!
Buen video, aunque es mejor tener un objeto request, dto y dao :`]!
La verdad no me gusta mucho tu sugerencia, jeje aunque la respeto, porque si por cada entidad debemos tener un request, DTO y DAO quiere decir que por cada entidad debo tener 3 clases. ¿Vale?.
¿Que pasa si tenemos 100 entidades?
Eso quiere decir que por cada una de ellas vas a necesitar 3 clases, eso va a causar que tú aplicación sea gigante y el peso va a ser mayor. Sería aumentar la complejidad sin obtener muchos beneficios.
Lo normal es manejar por cada entity un DTO y un Repository o DAO.
¡Saludos!
Excelente, ¿recomiendas crear nuestro propio DAO siempre en nuestros proyectos o usar el repository de siempre?, ¿cuál es mejor práctica? 😅
La verdad me gusta más el repository. Ambas formas están bien, pero por simplicidad me gusta más el repository.
¡Saludos!
Buen video, muy util, entendible, y visualmente agradable, saludos!
PD: Vos mapeas un userDTO a un userDAO, peeeero, que pasa si el DTO tiene el contenido de distintas Entity's?
Por ejemplo que el DTO tenga:
private String name;
private String address;
Y que el name y el address sean de distintas tablas, una de Persona (name) y otra de Direccion (address)
Cómo mapearias?
(que temas usas en IntelliJ? Se ve hermoso)
Hola, cuando un DTO tiene que proveer de información a varios entities debes crear los objetos entity y a través de los métodos setter comenzar a transferir la información campo por campo.
Para el intellij IDEA ya tengo un vídeo completo explicando mi configuración, te lo comparto:
ua-cam.com/video/xyKsnuuHHRI/v-deo.htmlsi=d1Bt02Dun3yaBTRH
¡Saludos!
Ahora mi duda es cuando usar DAO o Repository
Hola, todo depende de las necesidades del proyecto.
¡Saludos!
Por que vs? Se usan para cosas distintas que no tienen nada que ver.
Hola, tienes toda la razón; se usan para cosas distintas. La justificación del VS es porque a mucha gente le dificulta diferenciar estos dos patrones; se confunden un poco. Por ese motivo puse ese nombre. Pero, tienes toda la razón: se usan para cosas diferentes.
¡Saludos!
Crea cursos en Udemy y te haces millonario 🤑🤑🤑🤑
No son incompatibles
Moore Charles Clark Jeffrey Brown Richard
Santi, excelente el video, puedes por favor trabajar un video en el cual se trabaje DTO, DAO con manejo de Relaciones @OneToMany y @ManyToOne.