Java 27

[JPA] 플러시 flush란?

플러시 flush란? 플러시는 영속성 컨텍스트의 변경내용을 데이터베이스에 반영해주는 것 - 영속성 컨텍스트를 비우지 않음 - 영속성 컨텍스트의 변경내용을 데이터베이스에 동기화 - 트랜잭션이라는 작업 단위가 중요 -> 커밋 직전에만 동기화하면 됨 플러시가 발생되는 시점 - 변경 감지 - 수정된 엔티티 쓰기 지연 SQL 저장소에 등록 - 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송 (등록, 수정, 삭제 쿼리) 영속성 컨텍스트를 플러시하는 방법 em.flush() : 직접 호출하는 것, 사용은 안하지만 알아만 둘 것 Member member = new Member(200L, "member200"); em.persist(member); // 강제 호출 em.flush(); System.out.print..

JPA 2021.06.30

[JPA] JPQL / 페이징 처리

안녕하세요 :> JPQL이란? JPQL은 SQL을 추상화한 JPQL이라는 객체 지향 쿼리 언어입니다. JPA에서 자동으로 쿼리를 만들어주는데 조인을 걸어야하고, 검색 조건을 걸어야한다면 어떻게 처리를 할 것 인가? 를 도와주는 것이 JPQL입니다. - SQL과 문법 유사, SELECT, FROM, WHERE, GROUP BY, HAVING, JOIN 등을 지원 - JPQL은 엔티티 객체를 대상으로 쿼리 / SQL은 데이터베이스 테이블을 대상으로 쿼리 - JPQL은 DB가 바뀌어도 쿼리를 바꿀 필요가 없음 JPA에서 알아서 변경해줌 createQuery를 통해 우리가 쿼리를 작성하면 List result = em.createQuery("select m from Member as m", Member.clas..

JPA 2021.06.28

[JPA] DB 저장, 조회, 삭제, 수정하기 DB CRUD

안녕하세요 오늘은 JPA로 DB 저장, 조회, 수정, 삭제하기를 포스팅하려고합니다. 2021.06.24 - [JPA] - [JPA] DB 연결 설정 및 DB에 저장하기 [JPA] DB 연결 설정 및 DB에 저장하기 2021.06.23 - [JPA] - [JPA] Eclipse로 JPA 프로젝트 생성하기 [JPA] Eclipse로 JPA 프로젝트 생성하기 프로젝트 생성 [Dynamic Web Project] - Next 프로젝트 명 작성 후 Next build path 설정 후 Next 설정 후 F.. ddol.tistory.com 일단 DB 연결하고 그 외의 자잘한 설정들은 이전 글 참조해주세요! DB 저장 저장은 persist를 사용하여 DB에 값을 저장할 수 있습니다. Member member = n..

JPA 2021.06.25

[Spring Boot] /index.html 파일 static 폴더가 아닌 templates 폴더에서 호출되게 하는 방법

Spring Boot 프로젝트를 실행하게 되면 /static/index.html이 호출됩니다. 근데 저는 애초부터 templates 폴더에서 호출되게 하고싶어서 어떤 방법이 있을까하다... @Controller public class MainController { @GetMapping(value = "/") public String loadPage() throws Exception { return "/index.html"; } } MainController에 / 로 접근하는 모든 것을 index.html로 보냈습니다. 그러면 templates 폴더 하위에 있는 index.html이 호출돼요!

Java 2021.06.24

[Spring Boot] SpringBootServletInitializer 상속하는 이유

Spring Boot 프로젝트를 생성해보면 프로젝트명+Application.java 가 자동으로 생성되어있는 것을 볼 수 있습니다. 프로젝트가 시작되는 시점에 실행되는 부분이죠! 소스를 보면 SpringBootServletInitializer 클래스를 상속 받은 것을 볼 수 있는데 왜 상속받는지 알고 사용하는 것이 좋겠죠!! 그래서 저도 한번 찾아봤어요~ 우리가 Spring에서 개발하다보면 web.xml에 DispatcherServlet을 등록하는 작업(servlet-mapping...)을 했었는데 Servlet 3.0으로 업데이트 되면서 web.xml에 작업 없이도 배포가 가능해졌다고해요. web.xml 설정을 WebApplicationInitializer 인터페이스를 구현하여 대신할 수 있고, Spr..

Java 2021.06.24

[JPA] DB 연결 설정 및 DB에 저장하기

2021.06.23 - [JPA] - [JPA] Eclipse로 JPA 프로젝트 생성하기 [JPA] Eclipse로 JPA 프로젝트 생성하기 프로젝트 생성 [Dynamic Web Project] - Next 프로젝트 명 작성 후 Next build path 설정 후 Next 설정 후 Finish 프로젝트 우클릭 - properties - Project Facets - JPA 체크 Apply and Close 선택 [Config.. ddol.tistory.com 안녕하세요! 오늘은 JPA 프로젝트 생성하기에 이어 DB 설정 및 저장하는 방법을 소개해드리려고합니다~ JPA DB설정하기 META-INF - persistence.xml 열기 persistence.xml - properties 옵션 1. show..

JPA 2021.06.24

[JPA] Eclipse로 JPA 프로젝트 생성하기

프로젝트 생성 [Dynamic Web Project] - Next 프로젝트 명 작성 후 Next build path 설정 후 Next 설정 후 Finish 프로젝트 우클릭 - properties - Project Facets - JPA 체크 Apply and Close 선택 [Configure] - [Convert to Maven Project] 클릭하면 pom.xml 생성 pom.xml에 dependency 추가 hibernate-entitymanager는 jpa에 사용가능한 라이브러리를 모두 가져다 사용 h2는 DB연결을 하기위해 적용한 라이브러리로 각자 입맛에 맞게 사용하면 됨 인강으로 공부하면서 작성하는 글로 잘못된 정보가 있을 수도 있습니다! 잘못된 정보가 있을 시 댓글달아주세요 : 0

JPA 2021.06.23

JPA 란?

안녕하세용 :> 무니님이 인프런 계정 공유해줘서 JPA 공부하라고했는데 무려 두 달이 지난 이제야 듣기 시작했습니다..! 무니님 감사합니다 ~~~ JPA (Java Persistence API) 란? JPA는 인터페이스의 모음으로 JAVA 애플리케이션과 JDBC 사이에서 동작한다. 기존에 JDBC를 사용하던 것들을 JDBCTemplate ( mybatis / ibatis ) 의 도움을 받아 사용했지만 JPA는 SQL을 작성할 필요가 없다. 즉, JPA가 개발자 대신 적절한 SQL을 실행하게 된다. 강의에서 비유해 준 말로는 기존에 호미와 삽(JDBCTemplate)을 이용해 농사를 지었다면 기술이 발달하여 트랙터(JPA)를 이용해 편하게 농사를 짓는 것! * ORM : Object Relational M..

JPA 2021.06.22

[Spring Boot] application.properties 설정하기

2021.06.15 - [Java] - [SpringBoot] 프로젝트 생성하기 [SpringBoot] 프로젝트 생성하기 안녕하세요~ SpringBoot 프로젝트 생성하는 방법에 대해 포스팅해볼게요. 일단 STS를 실행해주세요~ 프로젝트 [File] - [New] - [Spring Starter Project] 클릭 프로젝트 설정 Name : 프로젝트명을 설정해줍니다.. ddol.tistory.com 안녕하세요 :) 지난 SpringBoot 프로젝트 생성에 이어 application.properties에서 간단한 설정하는 방법에 대해 소개하려고합니다. 프로젝트를 생성하고 src/main/resources/application.properties에 들어가보면 이렇게 비어있는 것을 볼 수 있습니다. 이제 여..

Java 2021.06.18

[Spring Boot] 프로젝트 생성하기

안녕하세요~ SpringBoot 프로젝트 생성하는 방법에 대해 포스팅해볼게요. 일단 STS를 실행해주세요~ 프로젝트 [File] - [New] - [Spring Starter Project] 클릭 프로젝트 설정 Name : 프로젝트명을 설정해줍니다. Type : Maven / Gradle 두 종류가 있어요. 저는 Maven으로 선택! Packaging : Jar / War 로 저는 Jar로 설정! Java Version : 8 / 11 / 16 -> 자바 버전은 1.8로 선택합니다. Language : Java / Kotlin / Groovy -> Java Group : 그룹명은 원하시는 대로 넣으시면 됩니다. Artifact : 위 Name을 변경하면 같이 바껴요! 프로젝트명 Version : 프로젝트..

Java 2021.06.15