Hibernate3 1. 스프링이란 이 카테고리의 포스트는 인프런 스프링 완전정복 로드맵 중 스프링 핵심-기본 편을 수강하며 정리한 내용입니다. 1-1. 스프링의 탄생 EJB 스프링이 등장하기 이전 자바 개발의 표준 기술은 EJB (Enterprise Java Beans)로, 각종 기능이 종합된 기술이었으나 복잡하고, 유연하지 못하고, 느리며, 비쌌다. 사용하기 오죽 불편했으면 EJB 대신 순수하게 자바 코드로만 프로그램을 작성하자는 이야기까지 나돌 정도였다고. 악명이 자자했던 모양이다. spring과 hibernate 이러한 EJB의 불편함을 해소하고자 spring과 hibernate가 오픈소스로 개발되기 시작하였고, 이것이 현재 사실상 자바 개발의 표준 기술인 스프링과 JPA의 시작이 되었다. JPA JPA (Java Persistan.. 2023. 6. 21. Spring JPA : IllegalArgumentException: Could not locate named parameter 오류 으아아아아아 문제점 스프링 JPA에서 EntitiManager의 CreateQuery() 메서드를 이용해 repository를 구현하다가 발생한 오류다. 아래 메서드에서 빨갛게 표시한 부분이 setParameter()를 통해 msg 변수를 바인딩하는 부분인데, 개열받게 msg를 못 알아먹는다. 아무래도 문자열 포맷에 쓰이는 '%' 가 문제인 듯 하다. 해결 '%' 앞에 이스케이프 문자('\')를 넣어보거나, '%'와 :msg 사이를 띄워보기도 했지만 여전히 안먹어서, 그냥 sql concat() 함수를 쿼리에 넣어버렸다. 그랬더니 잘 돌아간다. 다행히 예전에 했던 프로젝트에서 비슷한 오류를 겪어던 것을 기억해 빠르게 해결할 수 있었다. 이 글이 나처럼 고통받는 다른 개발 초보들에게 도움이 되었으면 한다. 2023. 5. 18. 15. 스프링 JPA (Java Persistence API) JPA (Java Persistence API)는 자바 표준 인터페이스로, 자바 프로그램과 DB 사이의 연동 기능을 제공하는 ORM 기술이다. ORM (Object-Relation Mapping) : 객체지향 프로그래밍에서, 객체와 DB 릴레이션(테이블)을 매핑하는 것. JPA는 자바 표준 인터페이스고, 다양한 벤더해서 이를 구현한 라이브러리를 배포한다. 실습에서는 오픈소스 JPA 라이브러리인 hibernate를 이용한다. JPA를 통해 개발자는 데이터 및 SQL에 대해 크게 신경쓰지 않고 객체 중심의 프로그램 설계를 할 수 있어 개발 생산성이 크게 향상된다. JPA는 현재 전세계적으로 널리 쓰이는 API이기 때문에, 이를 다룰 줄 알면 많은 도움이 될 것이다. 환경 설정 build.gradle에 jpa.. 2023. 4. 30. 이전 1 다음