static/index.html 은 Mapping을 안해줬는데도 되는 이유가 무엇인가요 ?
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@GetMapping("/") public String index() { return "index"; } 이런 소스 없이 자동으로 localhost:8080 들어가면 Index.html로 연결되는 이유가 무엇일까요?
- java
- spring
- 웹앱
- spring-boot
- jpa
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@GetMapping("/") public String index() { return "index"; } 이런 소스 없이 자동으로 localhost:8080 들어가면 Index.html로 연결되는 이유가 무엇일까요?
미해결
실전! Querydsl
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. q타입을 생성하고 import를 해주었습니다. package study.querydsl; import com.querydsl.jpa.impl.JPAQueryFactory; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; import study.querydsl.entity.Member; import study.querydsl.entity.Team; import javax.persistence.EntityManager; import static study.querydsl.entity.QMember.*; @SpringBootTest @Transactional public class QuerydslBasicTest { @Autowired EntityManager em; JPAQueryFactory queryFactory; @BeforeEach public void before() { Team teamA = new Team("teamA"); Team teamB = new Team("teamB"); em.persist(teamA); em.persist(teamB); Member member1 = new Member("member1", 10, teamA); Member member2 = new Member("member2", 20, teamA); Member member3 = new Member("member3", 30, teamA); Member member4 = new Member("member4", 40, teamA); em.persist(member1); em.persist(member2); em.persist(member3); em.persist(member4); } @Test public void startJPQL() { String qlString = "select m from Member m" + " where m.username = :username"; Member findMember = em.createQuery(qlString, Member.class) .setParameter("username", "member1") .getSingleResult(); Assertions.assertThat(findMember.getUsername()).isEqualTo("member1"); } @Test public void startQuerydsl() { Member findMember = queryFactory .select(member) .from(member) .where(member.username.eq("member1")) .fetchOne(); Assertions.assertThat(findMember.getUsername()).isEqualTo("member1"); } }
해결됨
데이터 분석 SQL Fundamentals
안녕하세요 선생님! postgresql 설치 중 경고창이 뜨고, 서비스창에서 postgre가 보이지 않아 문의드립니다! 이렇게 오류가 떠서 구글링한 후 https://dba.stackexchange.com/questions/10241/postgresql-the-database-cluster-initialization-failed 이 해결방법 따라해봤는데 같은 오류가 계속 납니다 다른 해결방법이 있을까요?ㅜㅜ
미해결
[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 섹션 2 1,2 문제풀이 5분 4초에 보면 드래그한 부분을 한번에 주석처리하는 방법을 알고 싶어요. 추가로 드래그한 부분을 한번에 띄어쓰기나 들여쓰기를 하는 방법이 있다면 같이 알려주세요.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
3:58초 경에 findMember.setAge(20)으로 결과가 바뀌면 영속성 컨텍스트에 관리가 되는 거고, 안바뀌면 관리가 되지 않는다라는데 이유가 뭔가요 ? JPA가 DB의 데이터에 접근하고 수정하고 작성,삭제 할 수 있다 = 영속성 컨텍스트가 관리한다 같은 말일까요 ?
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
@OneToMany @JoinColumn(name = "MEMBER_ID") private Order order; @OneToMany @JoinColumn(name = "MEMBER_ID") private List<Order> orders; 두개가 무슨 차이가 있는지 궁금합니다. 일대다 관계라면 컬렉션을 안써도 되지 않나요?
미해결
[리뉴얼] SQL 베이스캠프
6회차 강의에서 PHP-MySQL 연동시키는 부분에서 문제가 발생했습니다. 사진에서 보는 것과 같이 모두 작성했는데, 웹페이지가 강의와 같이 업데이트가 안되네요... (ctrl+c 후에 시작버튼도 여러차례 진행하였습니다.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
public static void main(String[] args) { Integer a = Integer.valueOf(10); Integer b = a; a = 20; System.out.println("a = " + a); System.out.println("b = " + b); } =======출력값 ======== a = 20 b = 10 이렇게 하면 값이 변경되는데 PPT에서 변경X라는 말이 무슨 말일까요 ?
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
Member와 Team을 예로 생각했을 때 즉시로딩 -> Member만 필요해도 Team과 쿼리문이 같이 나감 지연로딩 -> Member만 불러오고, Team은 프록시 객체로 불러와서, Team이 필요할 때 영속성 컨텍스트에 연결을 요청하고 요청 쿼리문이 나가는 것이 맞나요 ? Member.getTeam().getName()을 1번 수행한다고 했을 때 즉시로딩 (Member + Team 쿼리문 같이)의 성능이 지연로딩 ( Member 쿼리문 따로, Team 쿼리문 따로)보다는 좋지만 강의에서 나온 여러가지 문제로 웬만해서는 지연로딩을 사용하는 것이 더 좋다. 이것이 맞나요?
미해결
데이터 분석 SQL Fundamentals
-- 고객정보와 고객이 처음 주문한 일자의 주문 일자와 그때의 배송 주소, 배송 일자 추출 을 풀때 row_numbers로 첫번째 주문일자를 추출했더니 null이 제외되더군요. 그래서 select a.customer_id, a.contact_name , b.order_date as first_date, b.ship_address, b.shipped_date, b.rnum from nw.customers a left join (select * , row_number() over (partition by x.customer_id order by x.order_date ) as rnum from nw.orders x ) b on a.customer_id = b.customer_id where rnum=1 or rnum is null; 으로 'rnum is null'을 넣어주었더니 order_date가 null인 고객 정보도 출력이 되었습니다. row_numbers()로 순위를 매길때 null은 그냥 순위매김에서 제외되는 건가요? 위의 코딩이 맞는(효율적인) 방식인지 궁금합니다.
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
<BookForm> @Getter @Setter public class BookForm { private Long id; private String name; private int price; private int stockQuantity; private String author; private String isbn; } <Controller> @PostMapping("/items/new") public String create(BookForm form){ Book book = new Book(); book.setName(form.getName()); book.setPrice(form.getPrice()); book.setStockQuantity(form.getStockQuantity()); book.setAuthor(form.getAuthor()); book.setIsbn(form.getIsbn()); itemService.saveItem(book); return "redirect:/"; } <Service> @Service @RequiredArgsConstructor @Transactional(readOnly = true) public class ItemService { private final ItemRepository itemRepository; public void saveItem(Item item){ itemRepository.save(item); } public Item findOne(Long itemId){ return itemRepository.findOne(itemId); } public List<Item> findAll(){ return itemRepository.findAll(); } } <Repository> @Repository @RequiredArgsConstructor @Slf4j public class ItemRepository { private final EntityManager em; public void save(Item item){ if(item.getId() == null){ log.info("item={}", item); em.persist(item); //신규등록 }else{ em.merge(item); } } public Item findOne(Long id){ return em.find(Item.class, id); } public List<Item> findAll(){ return em.createQuery("select i from Item i", Item.class) .getResultList(); } } <Log> 2023-04-21 15:08:16.380 INFO 7536 --- [nio-8080-exec-2] j.jpashop2.repository.ItemRepository : item=Book(author=qwe, isbn=1234) <Test> 로그에 찍히는거 보면 값이 다 전달이 되고 테스트 코드에서도 성공으로 떠서 저장이 되야 될거 같은데 h2 db에 가면 값이 저장이 안되어 있네요 아예 디비랑 연동이 안되나 싶었는데 멤버는 정상적으로 회원가입이 되는데 아이템만 저장이 안되네요 뭐가 문제일까요... ddl-auto 는 create로 되어있구요 h2 db 버전은 1.4.2 입니다
미해결
데이터 분석 SQL Fundamentals
선생님 비상관 subquery에서 table 명을 지정해주어야 하는 이유가 꼭 있을까요? 선생님 코드는 from hr.emp_dept_hist_01 x 라고 지정해주셨었는데, select * from hr.emp_dept_hist_01 where (empno, todate) in (select empno, max(todate) as todate from hr.emp_dept_hist_01 x group by empno) ; 비상관이면 없어도 되지 않을까하는 생각을 했습니다. select * from hr.emp_dept_hist_01 where (empno, todate) in (select empno, max(todate) as todate from hr.emp_dept_hist_01 group by empno) ;
미해결
[리뉴얼] React로 NodeBird SNS 만들기
제가 다른게시물 보고 https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04 이거까지 했는데 계속 새로운 비밀번호 입력 하라고 뜨네요 ㅠㅠ 이런 경우 어떻게 해야할까요 비밀번호도 보안수준에 맞게 했는데 계속 뜨네요 ㅠㅠ
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
ORDERS와 ORDER_ITEM의 관계는 하나의 주문 안에, 주문된 여러가지 아이템(book,album,movie등)이 있을 수 있기 때문에 1:N인 것 이 맞나요 ? OrderItem과 Item의 관계가 잘 이해 가지 않아서 찾아보다가 https://www.inflearn.com/course/lecture?courseSlug=ORM-JPA-Basic&unitId=21699&category=questionDetail&tab=community&q=805804 이 답변을 보고 헷갈리는 부분이 있는데요. Book을 n번 주문할 수 있기 때문에 1:N이라고 하셨는데 이 말은 즉, Book이라는 아이템 안에서도 주문된 여러가지 책(일본 책, 독일 책, 한국책) 이 있을 수 있기 때문에 1:N이라는 말일까요? 어떤 Member가 어떤 주문을 했는지 Order를 참고하는 것과 어떤 Order가 무엇을 구매했는지 Order_Item을 참고하는 것이 같은 맥락이라고 생각하는데 전자는 잘못된 설계고 후자는 괜찮은 설계인 이유는 무엇일까요?
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
public class Team2 { @Id @GeneratedValue @Column(name = "TEAM_ID") private int id; private String name; @OneToMany @JoinColumn(name = "MEMBER_ID") private List<Member> members = new ArrayList<>(); } public class Member2 { @Id @GeneratedValue() private Long id; @Column(name = "name") private String username; @ManyToOne(mappedBy = "members") private Team team; } 강의를 듣다가 외래키를 Team에 두면 안되는 것인가? 하고 혼자 코드를 작성해보았는데요. @ManyToOne은 mappedBy옵션을 지원하지 않는 걸로 봐서 1:N에서 N쪽이 외래키가 있어야하고, 연관관계의 주인이 되어야하는 것 같은데 연관관계의 주인이 되는 외래키는 어떤 방식으로 설정해주나요 ?
해결됨
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
안녕하세요 선생님 다름이 아니라 제가 작성한 코드가 정답처리가 되었는데 이 코드는 정답이 되면 안되는 코드가 아닌가 해서 여쭤보고 싶어서 질문글 남깁니다. 예를들면 첫번째 문제에서는 CBA 순서로 무조건 짜야하지만 제 코드에서 str1 은 꼭 순서를 지켜야 하는 값이고 str2는 C의 순서를 알 수 없는데 정답처리가 되어서 제가 작성한 코드가 제대로 정답이 맞는건지 궁금해서 질문글을 남깁니다!
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
둘 다 null을 허가하지 않는 다는 의미로 쓰이는 것 같은데 어떤 차이가 있는 건가요 ? @EnumType 애노테이션을 제거하고 멤버를 추가해도 @EnumType.Ordinal 옵션을 적용 한 것처럼 Integer로 컬럼을 만들고 user = 0, admin=1 으로 잘 저장하던데 @EnumType은 어떤 역할을 하는 것인가요? EnumType.String이 필수로 써야할만큼 EnuType.Ordinal은 안좋은 옵션같은데 Default가 String이 아니라 Ordinal인 거는 따로 무슨 이유가 있는 건가요 ?
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
1차 캐시, 쓰기지연, 더티체킹(스냅샷), 지연로딩 영속성 컨텍스트의 특징이 이정도인 거 같은데 더티체킹은 엔티티(객체)를 컬렉션에서 관리하듯이 도와줘서 수정측면에서 도움이 많이 되는 것 같긴 한데 1차캐시나 쓰기지연 로딩은 디비에 데이터 몇 번 덜 접근한다고 해서 큰 차이 없을 것 같은데 성능적인 측면에서 많이 도움 되나요? 실무를 해본 적이 없어서 제가 잘 모르는 것일까요 ?
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
DB 접근 2편이나 활용1편에서는 Gradle을 사용해서application.properties를 통해 h2를 설정하고 build.gradle을 통해서 라이브러리를 받아왔던 것 같은데 이번 강의에서는 xml파일들을 사용해서 상당히 어색한데요. 최근에 Gradle을 많이 사용한다면 xml로 설정하는 방법을 따로 공부할 필요는 없을까요?
미해결
데이터 분석 SQL Fundamentals
안녕하세요, 선생님. 하루에 한번은 질문을 드리는거 같은데 자세하게 답변주셔서 항상 감사드립니다. -- 고객이 가장 최근에 주문한 주문 정보 추출 를 아래와 같이 풀어도 결과값은 같더라구요. select * from nw.orders a where order_date in (select max(b.order_date) from nw.orders b where b.customer_id =a.customer_id ); (아래는 예제 코드) select * from nw.orders where (customer_id, order_date) in (select customer_id, max(order_date) from nw.orders group by customer_id); where...in 은 비상관쿼리의 다중행, where existx (...)은 상관쿼리의 다중행 반환에 사용된다는 것을 배웠기 때문에 저렇게 하면 안되는 거 같은데 왜 안될까 궁금합니다.