단방향 @ManyToOne @JoinColumn(name = "ORDER_ID") private Order order; 양방향 @OneToMany(mappedBy = "order") private List orderItems = new ArrayList(); public void addOrderItem(OrderItem orderItem) {...
객체와 테이블 연관관계의 차이를 이해객체의 참조와 테이블의 외래 키를 매핑연관관계 주인(Owner) : 객체 양방향 연관관계는 관리가 필요테이블은 외래키로 조인을 사용해서 연관된 테이블을 찾는다.객체는 참조를 사용해서 연관된 객체를 찾는다.테이블과 객체 사이에는 이런
객체와 테이블 매핑 : @Entity, @Table필드와 컬럼 매핑 : @Column기본 키 매핑 : @Id연관관계 매핑 : @ManyToOne, @JoinColumn@Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다.JPA를 사용해서 테이블과 매핑할
JPA를 이해하는데 가장 중요한 용어객체의 엔티티를 영구 저장하는 환경이라는 뜻EntityManager.persist(entity); \-> "entity"에 들어가는 객체(Member, Team, .. 등)를 DB에 저장하는 구나! 싶지만 좀 더 깊은 의미가
객체와 테이블을 생성하고 매핑하기@Entity : JPA에서 해당 객체를 관리하겠다는 어노테이션@Id : 데이터베이스 PK와 매핑 할 값@Column : 해당 필드가 DB에서 쓰일 때 적용되는 속성들아래 코드 DB 해석 create table Member( id
thymeleaf에서 url에다 자동으로 포함시켜주는 내용이라고 보면 된다.server.servlet.session.tracking-modes=cookie response.addCookie(idCookie); 생성된 쿠키(idCookie)를 서버 응답 객체(HttpSe
코끼리 build.gradle 클릭 implementation 'org.projectlombok:lombok' 추가서버 끈 상태에서, build.gradle 클릭 -> Gradle-> Refresh Gradle Project 클릭Project and External D
🧩회원가입 HomeController MemberController members -> 공통 Member의 빈 객체 model에 넘겨줘야한다. @ModelAttribute 사용 model.addAttribute("member",new Member());
타임리프는 스프링의 BindingResult를 활용해서 편리한 오류 표현기능 제공field : BindingResult가 제공하는 오류에 접근 할 수 있다.th:errorclass : th:field에서 지정한 필드에 오류가 있으면 class를 추가th:errors :
Enumeration데이터 중에는 요일(월,화,수,목,금,토,일), 계절(봄,여름,가을,겨울) 등과같이 몇 가지 한정된 값을 갖는 경우가 있다.열거 타입에 들어가는 값(월, 화, ... )들을 열거 상수라고한다.자바 class대신 enum을 적어준다.열거 상수를 적을때
객체의 초기화 부분객체가 생성된 후 별도의 초기화 작업을 위해 실행하는 메소드를 선언한다.WAS가 띄워질 때 실행된다.마지막 소멸 단계context path를 추가해서 이동프로젝트이름/index.html프로젝트이름/user/userMain.jsp/(@PathVariab
🧩 RequestParam , ResponseParam @ReuqestParam 어노테이션은 HttpServletRequest 객체와 같은 역할을 한다. HttpServletRequest에서는 getParameter() 메소드를 이용했지만, @RequestParam을
@ReuqestParam 어노테이션은 HttpServletRequest 객체와 같은 역할을 한다.메소드의 파라미터값으로 @RequestParam을 넣어주면된다.@ResponseParam 어노테이션은 HttpServletResponse 객체와 같은 역할을 한다.타임리프는
🧩 SOLID 클린코드로 유명한 로버트 마틴이 좋은 객체지향 설계의 5가지 원칙을 정리 SRP : 단일 책임 원칙 OCP : 개방-폐쇄 원칙 LSP : 리스코프 치환 원칙 ISP : 인터페이스 분리 원칙 DIP : 의존관계 역전 원칙 1) 개방-폐쇄 원칙 확장에는
🧩 MemberController MemberController가 생성될 때, 생성자를 호출해준다. 즉, Service까지 생성해서 자동으로 호출해준다. @Autowired를 선언해주면 MemberController가 생성하면 스프링이 memberService와
이클립스 상단 Help -> Install New Softwarehttp://www.thymeleaf.org/eclipse-plugin-update-site/ 입력전체 select프로그램 재시작작동하지 않을 시 재부팅 or Configure -> Add Th
🧩STS (Spring Tool Suite) > - STS 다운로드 https://github.com/spring-projects/toolsuite-distribution/wiki/Spring-Tool-Suite-3 > - 자바 버전확인 > - 자바 환결설정
@Controller : Contriller에 붙여준다. 해당 mapping url을 찾는다.@GetMapping : get 방식의 요청 @PostMapping: post 방식의 요청 @RequestMapping : get, post방식 상관없이 가능스프링부트 템플릿엔