• 엔티티 매니저 팩토리는 하나만 생성해서 애플리케이션 전체에 서 공유 • 엔티티 매니저는 쓰레드간에 공유X (사용하고 버려야 한다). • JPA의 모든 데이터 변경은 트랜잭션 안에서 실행 JPQL로 EntitiyManager에게 쿼리 전달 한 결과 JPQL • JPA를 사용하면 엔티티 객체를 중심으로 개발 • 문제는 검색 쿼리 • 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색 • 모든 DB 데이터를 객체로 변환해서 검색하는 것은 불가능 • 애플리케이션이 필요한 데이터만 DB에서 불러오려면 결국 검 색 조건이 포함된 SQL이 필요
각 나라별로 홈페이지 화면 언어 선택을 할 수 있게 하자. 그러기 위해선 스프링이 제공하는 MessageSource 를 스프링 빈으로 등록 하여야 하는데 @Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasenames("messages", "errors"); messageSource.setDefaultEncoding("utf-8"); return messageSource; } 직접 빈으로 등록을 해도 되지만 스프링 부트에선 기본적으로 MessageSource를 자동으로 스프링 빈에 등록되어있다. 설정 ..
https://kim-solshar.tistory.com/87?category=801655 쿼리에서 비즈니스 로직을 걷어내자 소스 코드를 보다보면 간혹 복잡하고 긴 쿼리를 맞딱뜨릴 일이 있다. 문제는 100라인이 넘어가는 긴 쿼리를 분석하고 수정해야 하는 경우다. 특히 쿼리가 어딘가 잘못되어 빠르게 고쳐야만 하는 kim-solshar.tistory.com 이걸 보고 나니 참 많은 생각이 든다
Json을 보내는 방법으로 두 방법이 있다. 1. @RestController나 @Responsebody 를 통해서 자동으로 JSON이 반환 되게 한다. 2. JsonView를 빈 등록하여 반환으로 JsonView를 한다 그치만 1번은 워낙 많은 글이 있으니 패스하고 오늘은 2번만 다뤄보겠다. 2. 1)Config에 빈 등록 @Bean(name="jsonView") MappingJackson2JsonView jsonView(){ return new MappingJackson2JsonView(); } 2) API @PostMapping("/dashboard/cnt") public String getExampleInfo(Model model, HttpServletRequest request) { model...