본문 바로가기

전체 글38

JPA와 MyBatis의 차이 (ORM과 SQL Mapper) JPA (Java Persistence API) - 자바 ORM의 기술 표준, 대표적인 오픈 소스가 Hibernate이다. ORM(Object-relational mapping) - 객체 관계 매핑, 객체와 RDB를 별개로 설계하고 ORM이 중간에서 매핑해주는 역할 즉, ORM은 SQL문이 아닌 RDB에 데이터 그 자체와 매핑하기 때문에 SQL을 직접 작성할 필요가 없다. 해당 객체와의 매핑에 필요한 SQL문을 알아서 만들어준다. 이로인해 어떤 RDB를 사용하던 상관 없다. SQL문이 아닌 ORM에서 제공하는 메서드, 코드 등을 이용하기에 직관적이다. MyBatis (Java Persistence Framework) - 마이바티스는 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는.. 2020. 3. 2.
동일출처정책과 CORS 그리고 해결 방법 동일출처정책(Same-Origin Policy) - 같은 도메인과 포트에서 들어온 요청에 대해서만 접근을 허용 CORS(Cross-Origin Resource Sharing) - 동일출처(도메인과 포트)가 아닐 시 요청의 응답을 거부한다. 보통 Ajax 호출 시 많이 보게 된다. Preflight Request - HTTP Header에 options를 이용하여 먼저 요청을 보낸 후 서버에서 응답이 가능한 지 확인 후 원래 요청을 다시 보내는 방식이다. 해결 방법 1) Access-Control-Allow-Origin헤더 추가 서버에서 응답(response)를 보낼 시 해당 헤더를 추가하는 방식이다. 서버에서 작업해야되며 스프링에서는 @CrossOrigin이라는 어노테이션을 이용하여 Controller .. 2020. 3. 2.