묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결백엔드 개발자 성능 개선 초석 다지기
MySQL 인덱스 관련해서
안녕하세요 incu님, 강의 잘 듣고있습니다.인덱스 면접대비하기 부분에서 2가지 질문이 있습니다.첫번째, MySQL 인덱스의 자료구조는 b-Tree라고 하셨는데, b+Tree 아닌가요? b+Tree의 개념을 포함해서 쓰신건지 궁금합니다. 두번째, 인덱스를 생성하고 그 인덱스를 WHERE 조건절에 사용했음에도 인덱스를 타지 않는 경우 중에 not eq 조건도 있는 것으로 알고있습니다. 이 경우에는 Table Full Scan하는 것이 맞는거죠? 아니면 not eq 조건에서 인덱스를 타지 않는데, 성능을 개선할 수 있는 방안이 어떤 것이 있는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Model로 전달하는 것과, dto나 form을 만들어 전달하는 것
Dto로 전달하지 않고 model로 전달하는 경우는 어떤 상황에서 하는 건가요 ?? 프로젝트를 하다보면 무조건적으로 dto로 전달했어서 궁금합니다... 같은 맥락으로 form데이터도 차이가 있나요 ???
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
질문있습니다.
강사님 안녕하세요.혹시 개인적인 질문이 있는데 메일 주소 하나 알 수 있을까요 ? 감사합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
45강 dev 연결 에러
java -jar build/libs/library-app-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev 2024-03-06 06:57:53.124 ERROR 3375 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-j-8.0.31.jar!/:8.0.31] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-j-8.0.31.jar!/:8.0.31] at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828) ~[mysql-connector-j-8.0.31.jar!/:8.0.31] at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448) ~[mysql-connector-j-8.0.31.jar!/:8.0.31] at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~[mysql-connector-j-8.0.31.jar!/:8.0.31] at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) ~[mysql-connector-j-8.0.31.jar!/:8.0.31]2024-03-06 06:34:35.506 WARN 24251 --- [ main] o.h.e.j.e.i.JdbcEnvironmentInitiator : HHH000342: Could not obtain connection to query metadatacom.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.2024-03-06 06:57:53.140 ERROR 3375 --- [ main] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]2024-03-06 06:57:53.140 WARN 3375 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]2024-03-06 06:57:53.152 INFO 3375 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]2024-03-06 06:57:53.185 INFO 3375 --- [ main] ConditionEvaluationReportLoggingListener :Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2024-03-06 06:57:53.233 ERROR 3375 --- [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 제 컴퓨터 mysql로 연결되어서 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure 이런 에러가 나온 것 같은데 AWS에서 빌린 컴퓨터에서 mysql연결하려면 어떻게 해야하나요? 아니면 제 컴퓨터 mysql로 연결하고 진행하나요?
-
미해결백엔드 개발자 성능 개선 초석 다지기
host.sh 실행 오류
MAC 환경에서 CPU 정보를 확인하기 위해 ./host.sh 명령어를 실행하였으나 다음과 같은 오류가 뜹니다.혹시 libsigar-universal64-macosx.dylib 파일 읽기 권한이 문제인가 싶어서 권한도 추가하였으나 동일한 에러가 발생합니다.두번 째로 환경 변수 설정도 해봤으나 동일한 에러가 발생합니다.export DYLD_LIBRARY_PATH=/Users/hyeonsu/util/scouter/agent.host/lib:$DYLD_LIBRARY_PATH
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JdbcTemplate강의 중복_회원_예외() 테스트 오류
DB교체 후 MemberServiceIntegrationTest 시 자꾸 아래와 같은 오류가 발생합니다.구글링을 해보니 async 들어가서 메세지 안뜨게 체크 해제하는 것과 여러 방법을 해봤는데 지속적으로 저 메세지가 뜹니다..ㅠㅠ도움주시면 감사하겠습니다.상세 오류 내용 . ____ _ /\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.2)2024-03-06T13:03:25.170+09:00 INFO 29080 --- [ main] h.h.S.MemberServiceIntegrationTest : Starting MemberServiceIntegrationTest using Java 17.0.10 with PID 29080 (started by wlwlg in C:\개인공부\Back-End\Spring\hello-spring\hello-spring)2024-03-06T13:03:25.171+09:00 INFO 29080 --- [ main] h.h.S.MemberServiceIntegrationTest : No active profile set, falling back to 1 default profile: "default"2024-03-06T13:03:26.078+09:00 INFO 29080 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html]2024-03-06T13:03:26.510+09:00 INFO 29080 --- [ main] h.h.S.MemberServiceIntegrationTest : Started MemberServiceIntegrationTest in 1.536 seconds (process running for 2.262)2024-03-06T13:03:26.549+09:00 INFO 29080 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2024-03-06T13:03:26.606+09:00 INFO 29080 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/~/test user=SA2024-03-06T13:03:26.607+09:00 INFO 29080 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appendedorg.opentest4j.AssertionFailedError: Expected java.lang.IllegalStateException to be thrown, but nothing was thrown. at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:152) at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:73) at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:35) at org.junit.jupiter.api.Assertions.assertThrows(Assertions.java:3115) at hello.hellospring.Service.MemberServiceIntegrationTest.중복_회원_예외(MemberServiceIntegrationTest.java:54) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)2024-03-06T13:03:27.222+09:00 INFO 29080 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2024-03-06T13:03:27.227+09:00 INFO 29080 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.Process finished with exit code -1
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품주문_재고수량초과 테스트 로직 junit5 로 했을때 이렇게 코딩하는것 맞나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.@Test public void 상품주문_재고수량초과() throws Exception { //given Member member = createMember(); Book book = createBook(); //when assertThatThrownBy(() -> orderService.order(member.getId(), book.getId(), 15)) .isInstanceOf(NotEnoughStockException.class) ; }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
applications.properties 파일이 작동하지않는거같습니다.
[질문 내용]안녕하세요 applications.proproperties에 있는 코드들이 그냥 회색 글자로 나오고 MemberServiceIntegrationTest을 실행하면 정상적으로 pass가 되긴하지만 다음과 같은 WARNING 문구가 나옵니다. WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future releaseJava HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been...이게 intellij 가 무료판이라 properties파일이 작동안하고 적런 문구가 뜨는건가요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
default_batch_fetch_size 쿼리문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. select oi1_0.order_id, oi1_0.order_item_id, oi1_0.count, oi1_0.item_id, oi1_0.order_price from order_item oi1_0 where oi1_0.order_id in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)강의 4-4 페이징과 한계돌파 들으면서 똑같이 yml에 배치사이즈 100으로 하고 하던중확인해보니 in문에 강의처럼 order 데이터 2개 있으니 '?' 2개로 보여야하는데배치사이즈 설정한 수만큼 '?' 가 100개 이고 ,p6spy 보면 나머지 98개가 null로 들어갑니다..org.hibernate.orm.jdbc.bind: trace 하고 확인해봐도 여전한데하이버네이트나 머 다른게 업데이트후 저렇게 쿼리문 나가는게 정상이에요?아니면 다른 문제이면서 저렇게 쿼리문 나가는건 성능에 안 좋은 영향 있을까요?
-
해결됨코드로 배우는 React with 스프링부트 API서버
npm start 시 이런 오류가 발생 하는데 react를 처음 접해서 구글링 해도 해결 방안을 못찾겠습니다 ㅠㅠ
기본적으로 터미널에 Starting the development server... 이 뜨고 페이지가 나오긴 하는데 무한 로딩이 걸립니다..그 후 로딩이 멈추면 콘솔창에 이런 오류가 발생합니다++기다려 보니 WebSocket connection to 'ws://localhost:3000/ws' failed: WebSocketClient @ WebSocketClient.js:13initSocket @ socket.js:27(anonymous) @ socket.js:51Show 3 more framesShow less이런 오류도 뜹니다
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
Entity 객체에 접근제어자로 protected를 사용하는 이유가 궁금합니다.
안녕하세요. 30강 강의를 수강하고 한가지 궁금한 점이 있어 질문드립니다.book 테이블에 매핑되는 Entitiy객체인 Book.java 클래스 생성 시 JPA 사용을 위해 기본 생성자를 넣어주는데 이때 접근 제어자를 protected를 사용하는 것을 확인했습니다.protected 접근 제어자가 본래 상속관계에 있는 객체에 접근할 때 쓰는 것으로 알고 있는데 BookRepository 인터페이스가 JpaRepository를 상속받고 Map 구조에 Book이 들어가서 protected를 사용하는 것인지 궁금합니다.또한 protected 접근 제어자 외에 public, default 접근 제어자를 사용해도 되는 것인지 궁금합니다.
-
미해결스프링 배치
reader 에서 반복 제어를 하고 싶은데 도움 부탁드립니다.
안녕하세요. 강의보면서 따라해보고 있는데 응용이 잘되지 않아 질문드립니다. JdbcPagingItemReader, ItemProcessor, JdbcBatchItemWriter 를 사용하여 스텝을 구성하고 여러 스텝으로 잡 하나를 만들어서 배치를 돌리려고 합니다.그런데 read 하는 테이블의 데이터가 실시간으로 계속 쌓인다면 read 가 끝나지 않으므로 배치가 멈추지 않고 계속 돌게 됩니다.read 할 데이터 개수가 고정일 때는 배치가 반복되는게 어차피 read 가 끝나면 멈춰서 문제가 안됐었는데, 실시간으로 쌓이는 상황을 생각하니 모니터링 등을 고민하다가 특정 시간대에 돌리고 멈췄다가 다시 돌리는 식으로 방향을 잡았습니다.그래서 repeatTemplate 를 사용해서 특정 개수만큼만 돌리고 잡을 완료시키고 싶습니다.그리고 나머지는 이후에 다른 잡에서 하려고 합니다. 보여주신 예제는 processor 에서 반복 제어를 하였는데 저는 read 에서 무한 반복을 막고 싶은 것이라서 reader 에 넣어봤습니다. 그런데 테스트해봤을 때 반복 제어가 되지 않고 데이터 있는 개수만큼 다 돌고 끝나게 됩니다. (현재 로컬 환경에서는 실시간으로 쌓이진 않지만 중간에 repeateTemplate 조건에 맞게 끊길 수 있는 개수로 테스트했습니다.)repeatTemplate 설정을 했는데 설정이 안먹고 제대로 설정도 안된 느낌입니다.. @Configuration 파일에서 일부 코드입니다.jdbcPagingItemReader() 에 코드를 추가했습니다. @Configuration @RequiredArgsConstructor public class ReportConfig { private final DataSource dataSource; private static final int CHUNK_SIZE = 2; /** * READ TARGET */ @Bean public JdbcPagingItemReader<RequestReportTargetDto> jdbcPagingItemReader() throws Exception { // 여기서부터 RepeatTemplate repeatTemplate = new RepeatTemplate(); repeatTemplate.setCompletionPolicy(new SimpleCompletionPolicy(3)); repeatTemplate.iterate(new RepeatCallback() { @Override public RepeatStatus doInIteration(RepeatContext context) throws Exception { System.out.println("ReportConfig.doInIteration"); return RepeatStatus.CONTINUABLE; } }); // 여기까지 추가했습니다. HashMap<String, Object> parameters = new HashMap<>(); parameters.put("reqReportYn", "N"); return new JdbcPagingItemReaderBuilder<RequestReportTargetDto>() .name("jdbcPagingItemReader") .dataSource(dataSource) .fetchSize(CHUNK_SIZE) .rowMapper(new BeanPropertyRowMapper<>(RequestReportTargetDto.class)) .pageSize(CHUNK_SIZE) .queryProvider(createQueryProvider()) .parameterValues(parameters) .build(); } @Bean public PagingQueryProvider createQueryProvider() throws Exception { SqlPagingQueryProviderFactoryBean qp = new SqlPagingQueryProviderFactoryBean(); qp.setDataSource(dataSource); qp.setSelectClause("M_ID, ...."); qp.setFromClause("from TARGET_TEST"); qp.setWhereClause("where REQ_REPORT_YN = :reqReportYn"); Map<String, Order> sortKeys = new HashMap<>(); sortKeys.put("M_ID", Order.ASCENDING); qp.setSortKeys(sortKeys); return qp.getObject(); } @Bean public Step step(JobRepository jobRepository, PlatformTransactionManager transactionManager, JdbcPagingItemReader<RequestReportTargetDto> reader) { return new StepBuilder("jdbcPagingStep", jobRepository) .<RequestReportTargetDto, List<RequestReportDto>> chunk(CHUNK_SIZE, transactionManager) .reader(reader) .processor(reportProcessor) .writer(jdbcBatchListItemWriter()) .transactionManager(transactionManager) .allowStartIfComplete(true) // 테스트 위해서 .build(); } @Bean public Step step2(JobRepository jobRepository, PlatformTransactionManager transactionManager, JdbcPagingItemReader<RequestReportTargetDto> reader) { return new StepBuilder("jdbcPagingStep2", jobRepository) .<RequestReportTargetDto, List<RequestReportDto>> chunk(CHUNK_SIZE, transactionManager) .reader(reader) .processor(orgReportProcessor) .writer(jdbcBatchListItemWriter2()) .transactionManager(transactionManager) .allowStartIfComplete(true)// 테스트 위해서 .build(); } @Bean public Job job(JobRepository jobRepository, Step step, Step step2) { return new JobBuilder("reportJob", jobRepository) .start(step) .next(step2) .build(); } } reader 를 설정파일 말고 따로 클래스로 빼서 ItemWriter implements 해서 구현체로 만들어야 하나 싶은데 그러면 JdbcPagingItemReader 를 쓰기가 어려워집니다. 검색 많이 해봤는데 생각보다 참고할 수 있는 자료가 적어서 응용이 어렵습니다ㅠ참고할만한 예제가 혹시 있을까요? 아니면 어떤 식으로 하면 좋을지 알려주시면 또 찾아보고 해보겠습니다.
-
미해결스프링 시큐리티
모바일을 사용할때 토큰말고 세션
모바일 서비스를 하는데 인증방식을 보통 jwt 토큰으로 하자나요api 서버에서도 세션을 쓰지 않고 jwt 발급해주고 토큰으로 인증을 하는데 , 세션쿠키방식으로 모바일이 인증하기가 어려운 이유가 뭘까요 ...웹은 세션 쿠키 방식을 쓰는데 왜 모바일은 그렇게 못하는걸까요?
-
미해결스프링 시큐리티
DB 연동한 인가 부분에 대한 질문입니다!
안녕하세요.새강의 없이 혼자 좀 해오고 있는데 DB 연동하는 부분은 좀 감이 안 잡히네요. AuthorizationFilter에서 처리될 때RequestMatcherDelegatingAuthorizationManager에 위임되고 거기에 있는 this.mappings에 SecurityConfig에서 설정한 requestMatcher가 초기화되어 있더라고요.다이나믹하게 this.mappings에 제가 디비에서 가져온 데이터를 넣으면 좋은데 이 방법이 맞는지도 모르겠고 감을 못 잡겠네요ㅠ힌트라도 주실 수 있나요? 현재 강의에서 사용하는 방법의 일부처럼 새로운 필터를 넣어야 하는 걸까요..
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
업데이트는 그냥 dirty-checking을 이용하면 된다고 하셨는데..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의에서 '"성능의 경우 조회에서 문제가 생기고, 생성이랑 수정은 성능 문제가 잘 발생하지 않는다"고 한 부분에서 궁금증이 생겼습니다! 업데이트의 경우 JPQL을 사용한 쿼리문을 통해 수정하는 방법이 있고, 엔티티를 싹 불러와서 dirty-cheking을 이용하는 방법이 있는걸로 알고 있습니다. 제 생각에는 뭔가 엔티티를 싹 불러오는 후자의 방법이 더 느릴거 같은데, 왜 후자를 그냥 쓰면 된다고 하신 이유가 궁금합니다!또 두 방식 중 어떤 상황에 무엇을 써야하는 지 기준이 있다면, 알려주시면 감사하겠습니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
양방향 연관관계시 연관관계 편의 메소드
1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.위 테이블을 보면 Order는 Member, Delivery, OrderItem과 양방향 연관관계이므로 Order 클래스에 연관관계 편의 메소드를 작성했으며, Categroy는 category_item과 양방향 연관관계이므로Category 클래스에 연관관계 편의 메소드를 작성한 것으로 이해했습니다. 그럼 만약ORDERS와 ORDER_ITEM , ITEM 모두가 양방향 연관관계즉, 모든 테이블이 양방향 연관관계라면,어느 클래스에서 연관관계를 작성하면 될까요? 비즈니스적으로 몰리는 엔티티에 작성하면 되는지,아님 애초에 이런 상황이 발생하지 않도록 ORDER_ITEM 과 같은 테이블을 추가해서 단방향 연관관계를 만드는 게 더 좋을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 가입 run 했을 시 DB 저장 안돼요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영상 속 6분 20초경 @Transactional을 주석 처리 한 후 회원가입 run 했을 시 DB에 데이터가 들어가지 않습니다
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
기타 질문
워밍업 통해 너무 잘 듣고 있습니다😊강의 관련 질문은 아니고 기타적인 질문인데요혹시 이 강의의 후속강의나 스프링 백엔드 관련 강의 더 내실 계획은 없으신가요?강사님 강의 더 듣고 싶어서요..!
-
미해결스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
equals와 longValue 관련 질문드립니다
[질문]제가 담당했던 업무에서는 Long 값을 비교하는 일이 거의 없어서 이 챕터에서 생각을 못 했었던 부분을 알게 되어 좋았습니다.관련 자료를 찾아보다가 equals 메서드에서는 Long 타입일 경우 .longValue();로 체크하는 로직을 보게되었습니다. public boolean equals(Object obj) { if (obj instanceof Long) { return value == ((Long)obj).longValue(); } return false; } 은행권 같은 실무에서는 equals와 longValue 둘이 어떻게 사용하는지 궁금합니다. [참고 자료] https://www.baeldung.com/java-compare-long-values
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 시퀀스 JDBCRepository 변경 오류
안녕하세요 선생님의 강의를 수강하며 잘 따라가며 학습 중입니다.DB연결도 잘되고, insert도 잘되는데 시퀀스 값이 이상하게 나옵니다.ㅠㅠ3이 자꾸 고정적으로 뜨고 3,4,5,6.. 증가하는데.. 원인이 뭘까요??ㅠㅠ도와주세요