묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
transational
회사 인프런 계정인데 김영한강사님 강의가 많습니다.transational에 대해 자세히 알고싶은데@Transational 어노테이션을 설명하는 강좌가 어떤것인가요??
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
no frameworks detected
안녕하세요. 다운 받은 소스파일을 실행하려고 하는데 강의에서 나온 순서로 진행했는데도 no frameworks detected 나와서 어떻게 해결해야 할 지 모르겠어서 질문드립니다.JDK21 사용중입니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 공부에 대한 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요.이렇게 좋은 강의가 있는걸 지인을 통해 알게되어 이번주부터 듣고 있습니다. 아직 시작한지 얼마 안되어 스프링 입문에서 열심히 따라치면서 이런게 있구나 하고 있는 상황입니다.헌데 이 강의를 알기 전에 토비의 스프링 3.1이란 책을 샀거든요.불행중 다행인지 아직 포장을 뜯지 않았습니다. 1/2권 세트라 비닐 포장이 되어있거든요.이 강의를 듣는다면 토비의 스프링 3.1 세트 책까지 필요없을지 아니면 이 책도 보는게 좋을지 의견을 들어보고싶어 문의드립니다.이 강의로도 충분할듯하면(스프링하고 JPA 둘다 구매하였습니다) 책은 환불하려고 하거든요. 감사합니다.
-
미해결김영한의 실전 자바 - 기본편
12.다형성과 설계.pdf 파일 오타 제보합니다.
김영한님 안녕하세요.유스방에서 늘 신세지고 있는 레이지 로딩 입니다.2년차 주니어로 일하며 기초가 제대로 잡히지 않았는데 너무 기술에만 집착하는 제 자신을 보며 초심으로 돌아가야 겠다고 마음먹은 참에 마침 감사하게도 자바 기초 강의를 내주셔서 감지덕지하며 공부하고 있습니다. 강의 보는 중 오타 발견하여 남겨둡니다. 먄약 -> 만약지난 3월에 출시하신 [스프링 부트] 강의에 이어 또 한번 강의에 미약하게나마 도움을 드릴 수 있어 영광입니다.내년에 또 인프콘에서 인사드릴 수 있으면 좋겠습니다.지식을 공유해 주셔서 항상 감사합니다.
-
미해결김영한의 실전 자바 - 기본편
문제 풀이의 메소드에 public이 들어가는 이유가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]메모리구조와 static의 강의 부분에서 정답을 보면 메소드 부분에 public static ~~~로 시작하는 모습을 볼수가 있는대 public을 붙이는 이유가 있을까요?? 문제 조건에는 public을 붙여야 한다는 말이나 비슷한 어구(어디서든지 사용이 가능해야하며 등)도 없고 default로도 문제에서 요구하는 기능을 구현하는데 문제가 없어서요. 순수하게 궁금한 마음에서 여쭈어봅니다.
-
해결됨실전! 스프링 데이터 JPA
JpaEventBaseEntity test
@Test public void JpaEventBaseEntity() throws InterruptedException { Member member = new Member("member1"); memberRepository.save(member); //@Prepersist Thread.sleep(100); member.setUsername("member2"); em.flush(); em.clear(); Member findMember = memberRepository.findById(member.getId()).get(); System.out.println("findMember.getCreateDate() = " + findMember.getCreateDate()); System.out.println("findMember.getUpdateDate() = " + findMember.getUpdateDate()); }Thread.sleep을 해준 이유가 무엇인가요??
-
미해결김영한의 실전 자바 - 기본편
static에 대해서 궁금합니다!!
안녕하세요. static에 대해 궁금한 것이 있어서 질문을 남깁니다!! static의 생존주기가 메모리에 생성이 되면 Java를 새로 실행이 될 때까지 유지되는 것으로 알고 있어요. 그럼 Heap 영역의 GC처럼 static을 정리해주는 역할을 하는 것이 있을까요? 아니면 개발자가 메모리 누수가 없도록 따로 관리를 해줘야 하나요? 이 부분이 궁금합니다~
-
미해결김영한의 실전 자바 - 기본편
여러 생성자가 있을 때, this()의 역할
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요! 영한님 강의 너무 잘 보고 있습니다!생성자 강의를 듣고 있다가 this()에 관한 걸 배웠을 때, 이런 질문이 떠 올랐습니다. this()는 어떤 클래스의 생성자를 사용하고 싶을 때 사용하는 것이라고 했는데, 만약 오버로딩으로 만든 생성자가 3개 이상일 때, this()는 그 생성자들 중에서 어떤 것을 가리키는 걸까? 에 대한 의문이 생겼습니다. 제가 직접 IDE에서 실험을 했을 땐, this()에 어떤 파라미터를 사용하느냐에 따라, 해당 파라미터와 같은 생성자가 사용되는 것 같은 결과가 나왔습니다.그렇다면 this()에 대해, this() 안에 파라미터와 같은 생성자가 호출된다고 생각해도 되는 걸까요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
이 풀이는 어떤가요?
package hash; import java.util.HashMap; import java.util.Scanner; public class Anagram { public static String solution(String str, String str2) { String result = "YES"; HashMap<Character, Integer> map = new HashMap<>(); for(char ch : str.toCharArray()) { map.put(ch, map.getOrDefault(ch, 0)+1); } for(char ch : str2.toCharArray()) { map.put(ch, map.getOrDefault(ch, 0)-1); } for(char ch : map.keySet()) { if(map.get(ch) != 0) { result = "NO"; break; } } return result; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); String str2 = sc.next(); System.out.println(Anagram.solution(str, str2)); } }str, str2 둘다 같은 Map을 써서 str에 +1, str2에 -1 해주어서 0이 아닐시 NO를 반환하게 코딩하였습니다. 답은 맞게 나오는데 허점? 이 있나 궁금하여 글 남깁니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberServiceTest 중 MemberService NullpointException
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.MemberServiceTest 중 하기 에러가 발생합니다. java.lang.NullPointerException: Cannot invoke "jpabook.jpashop.service.MemberService.join(jpabook.jpashop.domain.Member)" because "this.memberService" is null at jpabook.jpashop.service.MemberServiceTest.join(MemberServiceTest.java:27) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42) at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80) at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) MemberServicepackage jpabook.jpashop.service; import java.util.List; import jpabook.jpashop.domain.Member; import jpabook.jpashop.repository.MemberRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service @Transactional @RequiredArgsConstructor public class MemberService { private final MemberRepository memberRepository; /** * 회원 가입 */ public Long join(Member member) { validateDuplicateMember(member); // 중복 회원 검증 memberRepository.save(member); return member.getId(); } private void validateDuplicateMember(Member member) { List<Member> findMembers = memberRepository.findByName(member.getName()); if (!findMembers.isEmpty()) { throw new IllegalStateException("이미 존재하는 회원입니다."); } } // 회원 전체 조회 public List<Member> findMembers() { return memberRepository.findAll(); } public Member findOne(Long memberId) { return memberRepository.fineOne(memberId); } } MemberServiceTestpackage jpabook.jpashop.service; import static org.junit.jupiter.api.Assertions.*; import jpabook.jpashop.domain.Member; import jpabook.jpashop.repository.MemberRepository; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; @SpringBootTest @Transactional public class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test public void join() { Member memberTestName = new Member(); memberTestName.setName("kimjimin"); Long savedId = memberService.join(memberTestName); assertEquals(memberTestName, memberRepository.fineOne(savedId)); } }
-
미해결자바 코딩테스트 - it 대기업 유제
혼자서 푼 문제 확인 부탁드립니다.
package com.company.대기업유제.너비우선탐색; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.List; import java.util.Queue; class 숲속의기사 { static class Pos { int x; int y; public Pos(int x, int y) { this.x = x; this.y = y; } } public int solution(int[][] board) { int answer = Integer.MAX_VALUE; /** * 영희는 궁전에서 기사가 지키는 숲을 통과해서 나가야함 * 안전하게 가기위해 기사에게 산딸기를 줘야함 * 최대한 빨리 기사에게 산딸기를 줘야함 * 숲의 지도: R * C 판 형태 * 영희 시작위치, 기사 위치, 산딸기 위치가 표시, 영희가 가지 못하는 위치 * 영희는 산딸기 없이 기사를 지나쳐갈수없음 * 동서남북 하루에 한칸씩 이동 * 영희가 산딸기를 기사에게 가져다주는 가장 짧은 날의 수 * 0 : 영희가 움직일수 있는곳 * 1: 영희가 움직일수 없는곳 * 2. 영희의 시작위치 * 3: 숲속기사의 위치 * 4: 산딸기 위치 * * */ //산딸기 위치 저장 List<Pos> strawberryList = new ArrayList<>(); for (int i = 0; i < board.length; i++) { for (int j = 0; j < board[i].length; j++) { if (board[i][j] == 4) { strawberryList.add(new Pos(j, i)); } } } for (Pos pos : strawberryList) { //* 2. 영희의 시작위치 int count1 = BFS(pos.y, pos.x, board, 2); //* 3: 숲속기사의 위치 int count2 = BFS(pos.y, pos.x, board, 3); answer = Math.min(count1 + count2, answer); } return answer; } private static int BFS(int y, int x, int[][] board, int posType) { //산딸기 위치들로부터 영희의 최소거리, 기사의 최소거리 BFS 각각 한번씩 돌기 Queue<Pos> queue = new ArrayDeque<>(); //BFS를 위한 queue queue.add(new Pos(x, y)); int[] dx = new int[]{-1, 0, 1, 0}; int[] dy = new int[]{0, -1, 0, 1}; boolean[][] ch = new boolean[board.length][board[0].length]; int day = 0; while (!queue.isEmpty()) { int size = queue.size(); for (int i = 0; i < size; i++) { Pos pos = queue.poll(); //현재위치로부터 if(board[pos.y][pos.x] == posType) return day; for (int j = 0; j < 4; j++) { //동서남북 이동 int moveX = pos.x + dx[j]; int moveY = pos.y + dy[j]; if (moveY < 0 || moveX < 0 || moveX >= board[0].length || moveY >= board.length) continue; if(ch[moveY][moveX]) continue; if (board[moveY][moveX] == 1) continue;//1: 영희가 움직일수 없는곳 ch[moveY][moveX] = true; queue.add(new Pos(moveX, moveY)); } } day++; } return -1; } public static void main(String[] args) { 숲속의기사 T = new 숲속의기사(); System.out.println(T.solution(new int[][]{{4, 1, 0, 0, 0, 0, 1, 0}, {0, 0, 0, 1, 0, 1, 0, 0}, {0, 2, 1, 1, 3, 0, 4, 0}, {0, 0, 0, 4, 1, 1, 1, 0}})); System.out.println(T.solution(new int[][]{{3, 0, 0, 0, 1, 4, 4, 4}, {0, 1, 1, 0, 0, 0, 1, 0}, {0, 1, 4, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0}, {1, 0, 1, 0, 0, 1, 1, 0}, {4, 0, 0, 0, 1, 0, 0, 0}, {4, 1, 0, 0, 1, 0, 0, 0}, {4, 0, 0, 0, 0, 0, 1, 2}})); System.out.println(T.solution(new int[][]{{4, 1, 0, 1, 0}, {0, 1, 0, 1, 0}, {0, 0, 2, 3, 4}, {0, 1, 0, 1, 0}})); } }딸기위치를 기준으로 영희와 숲속의 기사의 최단거리를 각각 따로 BFS로 구하였는데 괜찮은 방법인가요?
-
해결됨김영한의 실전 자바 - 기본편
매서드 캡슐화와 테스트 코드
선생님, 안녕하세요.내부에서만 사용하는 매서드는 private으로 캡슐화 해두는 것이 좋은 구현이라고 알고 있고, 이번 수업에서도 그런 내용을 확인할 수 있었는데요, private 매서드들도 테스트 코드를 작성해서 테스트 해보고싶은 경우가 자주 발생합니다... 이런 경우 고민을 하다가 몇 가지 방법이 있겠으나 ... 그냥 public 으로 열어버리고 테스트 코드를 두곤 했는데요, 이런 경우에 선생님은 실무에서 어떻게 하셨는지, 가장 좋은 practice가 무엇인지 알고 싶습니다. 항상 감사합니다..^^
-
해결됨자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
notifyAll 이 더 선호되는 이유에 대한 조금 더 detail 한 설명 요청드립니다.
안녕하세요 선생님, 질문이 있어서 글 올립니다.[스레드 간 협력 - wait() & notify() 강의 - 6:23 ] 즈음에"notifyAll 이 더 선호된다"... 라고 했는데, 제가 뭘 놓친 걸 수도 있지만, 잘 이해가 안됩니다. 왜 notfiyAll 이 선호되는지에 대한 핵심적인 이유를 알려주실 수 있을까요?
-
미해결자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
사용자 스레드 vs 데몬 스레드 강의에서요
메인스레드는 어플리케이션을 실행하는 최초의 스레드이자 어플리케이션 실행을 완료하는 마지막 스레드의 역할을 한다 고 되어있는데제공해주신 예제 코드 chaper02 의 exam02 MultiThreadAppTerminatedExample 를 실행 시켜보면 메인스레드 종료가 먼저 출력 된뒤 다른 스레드들이 실행 중 이라고 출력 됩니다.그러면 예제 코드에서 System.out.println("메인 스레드 종료"); 가 호출 된 뒤 실제로는 메인 쓰레드가 종료되지는 않고다른 스레드들이 다 종료 될 때 까지 대기 중인 상태 인가요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
오류는 안뜨는데 테이블 생성이 안됩니다.
H2랑 연결이 안되는건지..오류는 안뜨는데 member 테이블이 생성이 안됩니다..설정 이것저것 만져보기도하고 자바도 17로 변경했고, PDF에 변경된 사항 다 확인하고 등등 해봤는데 모르겠습니다.테스트부터 문제가 발생해서 진도가 안나갑니다.... 아래는 제가 코딩한 파일 링크입니다. ㅠㅠ https://drive.google.com/file/d/1fAVZQQ-mag2_oRpXDGhaWIpw4UFC9c-T/view?usp=sharing
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
[hibernate 6] custom 함수 등록 방법 공유
Hibernate 6에서는 강의에서 처럼 Dialect를 통한 함수 등록이 불가능합니다.https://start.spring.io/로 Spring Boot 3버전으로 만드신 분들은 문제를 겪으실 거라고 생각합니다. 등록법FunctionContributer의 구현체를 만들어 준다.package custom; import org.hibernate.boot.model.FunctionContributions; import org.hibernate.boot.model.FunctionContributor; import org.hibernate.dialect.function.StandardSQLFunction; import org.hibernate.type.StandardBasicTypes; public class CustomFunctionContributor implements FunctionContributor { @Override public void contributeFunctions(FunctionContributions functionContributions) { functionContributions.getFunctionRegistry() .register("group_concat", new StandardSQLFunction("group_concat", StandardBasicTypes.STRING)); } } src/main/resources/META-INF/services/org.hibernate.boot.model.FunctionContributor파일을 생성한다.해당 파일에 직접 구현한 CustomFunctionContributor를 등록한다. 패키지명.컨트리뷰터이름 형태로 등록!!custom.CustomFunctionContributor이렇게 하시면, 강의에서처럼 group_concat함수를 사용하실 수 있습니다. Dialect는 변경 안하셔도 됩니다. referencehttps://aregall.tech/hibernate-6-custom-functions
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradlew build 시 오류입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]사진과 같이 intelliJ 에서 JDK는 17로 맞춰놓았습니다.그래서 빌드도 성공적으로 잘됩니다. 하지만 빌드 후, 제 로컬환경에서CMD에서위와같이 gradlew 입력시 ,아래와같은 오류가 뜹니다 ㅠ어떻게 해결할 수 있을까요?검색해서 해보라는 조치는 다해본상태입니다 ㅠ
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
스프링 고급편 까지 촬영하고 JPA강의 찍으신거아닌가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 얼마전에 결제했는데 jpa강의가 2019년이전에 만들어진거같은데... 이거 최신판맞나요? 스프링 고급편까지 듣고 다시 jpa결제해서듣는데... 분명히 스프링편에서는 고급편 후에 jpa강의 찍으신다고 하셨던거같은데
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
인텔리제이 초기 실행화면
안녕하세요.섹션1 - 다운로드 소스 코드 실행 방법 강의에서 인텔리제이 첫 실행화면에서 화면과 같이 프로젝트 선택하는 창이 뜨는 것으로 보입니다.(강의 내용)그러나, 인텔리제이를 처음 다운로드해서 수업과 같은 방식으로 따라했으나,, 저런 화면은 뜨지 않고 이전 작업에서 창을 닫기 전의 모습이 그대로 뜹니다.강사님처럼 프로젝트를 선택하려면 별도의 설정이 필요한 내용인가요?
-
미해결윤재성의 안드로이드를 위한 자바(JAVA) 프로그래밍
안녕하세요 예전강의라서 그런지 윈도우10에서는다른걸까요??
안녕하세요 예전강의라서 그런지 윈도우10에서는다른걸까요??환경변수에서 path 부분에서 변경이 안되서 그런건지cmd에서 javac를 입력하면 'javac'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.이렇게 나오는데 path 를 잘못 변경 한게 맞을까요?혹시 윈도우 10홈에서 어떻게 해야하는지 질문드립니다 ㅠ