묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
DB Insert할 때 질문입니다.
회원 서비스 개발에서 validateDuplicateMember를 할 때에 동시에 회원가입이 이루어질 때 방지로 name에 유니크를 걸어 주신다고 했는데 이해가 잘 되지를 않습니다. 보통 이름이 같은 사람도 많은데 name 에 unique를 주어도 되는건지 궁금하고요. 동시에 일어났을 때 방지하는 법에 대해 좀 더 자세히 알고 싶습니다~
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@ManyToOne, @OneToMany연관관계 조회 시 순환참조가 일어나는 부분은 어떻게 해결하여야 하나요?
안녕하세요!다름이아니라 제가 수업을 따라해보던 중 @ManyToOne, @OneToMany으로 연관관계를 맺은 두개의 테이블을 조회 시 아래와 같은 에러를 확인하였습니다.@Entity @Table(name = "MEMBER") @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") Long id; @Column(name = "NAME") String name; @OneToMany(mappedBy = "member") List<Post> posts = new ArrayList<>(); } @Entity @Table(name = "POST") @Getter @Setter public class Post { @Id @GeneratedValue @Column(name = "POST_ID") Long id; String title; String description; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "MEMBER_ID") Member member; }Could not write JSON: Infinite recursion (StackOverflowError);제 생각에는 한쪽에서 다른쪽 테이블을 조회 시 순환참조가 일어나는것 같다고 생각하는데 이러한 경우에는 어떻게 처리를 하여야 하는지 궁금합니다.찾아보니 @JsonIgnore를 사용하는 방법이 있는것 같기는한데 올바른 방법이 아닌것 같아서 여쭈어봅니다.좋은강의 감사합니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
./h2.sh 실행시 퍼미션 에러가 뜨네요..^^ 참고하세요
-bash: ./h2.sh: Permission denied bin 폴더 경로에 가셔서 터미널 여시고 chmod 755 h2.sh <-- 입력하시면 됩니다. 참고로 터미널에서는 h2 DB 종료 단축키는 control + c 입니다.
-
해결됨스프링 부트 개념과 활용
[해결] Tomcat 9.x 실행 문제
다음과 같이 코드 추가하시면 Tomcat 9.x 에서 8080포트로 실행 잘됩니다. 기존 코드 tomcat.start();tomcat.getServer().await(); 변경 코드 tomcat.getConnector();tomcat.start();tomcat.getServer().await();
-
미해결스프링 부트 개념과 활용
Bean 등록에 실패 한거 같은데 해결해보려 아무리 해도 안되서 질문드립니다.
Description: Field holoman in com.sun.springinit.HolomanRunner required a bean of type 'me.sun.Holoman' that could not be found. Action: Consider defining a bean of type 'me.sun.Holoman' in your configuration. 발생한 에러 로그입니다. 버전 2.1.4 에서 2.0.4 로 변경 후 run 해도 동일하게 발생합니다.. 어디 부분이 잘못 되었을까요..?
-
미해결스프링 부트 개념과 활용
log4j2적용 관련 질문드립니다.
이전 강의에서 Springboot2부터는 pom.xml에 exclusion없이 Common logging외 에서 SLF4j 또는 Log4j2를 사용할 수 있다고 하셨었는데...이 강의에선 logging을 exclusion하셨는데 둘이 다른 의미의 의존성 관리인가요?
-
미해결스프링 부트 개념과 활용
경고문이 뜹니다.
A context path must either be an empty string or start with a '/' and do not end with a '/'. The path [/] does not meet these criteria and has been changed to []이 경고는 어떻게 해결하면 되나요??? 단순히 '/'만 쓰지않고 뒤에 다른것을 써주면 문제가 해결되나요?그리고 2.1.1RELEASE에서는 톰켓실행이 안되는데2.0.3.RELEASE에는 문제없이 실행이 되는것을 확인할 수 있었습니다.톰켓버전의 문제가 있는것같습니다.
-
미해결스프링 부트 개념과 활용
docker에서 postgres를 사용할 때, role 에러.
기선님께서 올려주신 docker로 postgres사용하는 부분 중에서, su - postgres 명령어를 입력하고 psql spring boot를 하게되면, FATAL: role "postgres" does not exist라는 응답이 나오던데, 기선님도 이런 오류가 있으셨나요? 이 오류가 발생해서 여러가지 찾아본 결과 해결방법으로는 root에서 psql -U keesun springboot를 하게되면, DB에 연결이 되는걸 확인할 수 있었습니다. 추가로, Windows유저는 l을 해서 DB를 확인하면, OWNER가 docker run에서 POSTGRES_USER에서 설정한 유저로 바뀌어 있는 걸 확인했습니다. 혹시, Windows 10으로 이 강의를 보시면서, docker for windows를 통해 docker를 실습하시려는 분들은 이 오류가 발생하면 위에 해결방법을 활용해주세요.
-
미해결스프링 부트 개념과 활용
심각: A child container failed during start
어플리케이션 실행시 아래와같은 메세지가 뜨면서 톰캣실행이 안되는데 어떤부분을 확인해야할까요? 소스코드 어플리케이션 실행시 아래와같은 메세지가 뜨면서 톰캣실행이 안되는데 어떤부분을 확인해야할까요? package com.dope; import org.apache.catalina.Context; import org.apache.catalina.LifecycleException; import org.apache.catalina.startup.Tomcat; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; public class Application { public static void main(String[] args) throws LifecycleException { Tomcat tomcat = new Tomcat(); tomcat.setPort(8080); Context context = tomcat.addContext("/", "/"); HttpServlet servlet = new HttpServlet() { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter writer = resp.getWriter(); writer.println("<html><head><title>"); writer.println("헬로, 톰캣"); writer.println("</title></head>"); writer.println("<body><h1>Hello Tomcat</h1></body>"); writer.println("</html>"); } }; String servletName = "helloServlet"; tomcat.addServlet("/", servletName, servlet); context.addServletMappingDecoded("/hello", servletName); tomcat.start(); tomcat.getServer().await(); } } 에러코드 심각: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/]] at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 심각: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/]] at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)`