묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
왜 오답처리 되는지 모르겠습니다.
package infren.section1; import java.util.Scanner; public class section1_10 { static String solution(String s, String t) { String answer = ""; int[] tmp = new int[s.length()]; int p = 1; for (int i = 0; i < tmp.length; i++) { if (String.valueOf(s.charAt(i)).equals(t)) { tmp[i] = 0; p = 1; } else { tmp[i] = p++; } } p = 1000; for (int i = tmp.length - 1; i >= 0; i--) { if (String.valueOf(s.charAt(i)).equals(t)) { tmp[i] = 0; p = 1; } else { tmp[i] = Math.min(tmp[i], p++); } } for (int i = 0; i < tmp.length; i++) { answer += tmp[i] + " "; } return answer; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] tc = sc.nextLine().split(" "); String s = tc[0]; String t = tc[1]; String answer = solution(s, t); System.out.println(answer); } }출력값은 정답과 동일하게 나오는데 제출을 하면 오답처리로 되는데 어디가 문제인지 모르겠습니다
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
선생님 다형성 질문입니다!
선생님 다른 학생분 답변 해 주신 거 보구 Camera camera = new Camera(); Camera cam1 = new FactoryCam(); Camera cam2 = new SpeedCam(); cam1.showMainFeature(); cam2.showMainFeature(); if(camera instanceof Camera){ System.out.println("카메라입니다."); } //인스턴스 임을 확인하고, 형변환을 통해 객체가 가지는 주요기능을 쓸 수 있다. if(cam1 instanceof FactoryCam){ ((FactoryCam)cam1).detectFire(); } if(cam2 instanceof SpeedCam){ ((SpeedCam)cam2).checkSpeed(); ((SpeedCam)cam2).recognizeLicensePlate(); }Camera 클래스가 가지는 변수나 메소드만 사용할 수 있고형변환을 통해 인스턴스 가 가지는 주요기능을 쓸 수 있다까지는 이해가 됐어요!그리고 Camera 가 가지는 공통기능이 있기 때문에 하나의 변수가(?) 여러 다른 형태의 객체를 참조 할 수 있는건데 궁금한게 특정기능을 사용하려면 형변환을 통해서 접근해야하는데 불편하지 않나요? 다형성을 추구 하는 이유가 궁금합니다.!
-
미해결윤재성의 자바 기반 안드로이드 앱개발 Part 1 - UI Programming
Android x ScrollView 실습 에러
Android resource linking failedco.kr.scrollview.app-mergeDebugResources-30:/layout/activity_main.xml:34: error: '@tools:sample/avatars' is incompatible with attribute src (attr) reference|color.error: failed linking file resources. 에러 해결 방법 부탁합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
setter 관련 함수
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. // item.setName(name); // item.setPrice(price); // item.setStockQuantity(stockQuantity); //요런식으로 바꿔라 item.change(name,price,stockQuantity); 라고 강의에서 봤는데 그러면 item 엔티티 클래스에서 change 함수에서 item.setName(name); // item.setPrice(price); // item.setStockQuantity(stockQuantity);이걸 넣는건가요 ??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
최신 버전으로 프로젝트 생성하고, JPA 하이버네이트랑 H2 데이터베이스 설정시 하이버네이트 버전 오류가 생겨요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 제가 생성한 Spring은 버전이 3.1.5라h2버전 최신 2.224 버전은 되는데spring 3.1.5버전 하이버네이트6.2.13.Final이 없다고 뜨네요 ㅜ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>jpa-basic</groupId> <artifactId>ex1-hello-jpa</artifactId> <version>1.0.0</version> <dependencies> <!-- JPA 하이버네이트 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>6.2.13.Final</version> </dependency> <!-- H2 데이터베이스 --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>2.2.224</version> </dependency> </dependencies> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> </properties> </project>어떻게 해야 하는지 모르겠습니다 +) 근데 또 5.6.15.Final은 오류가 안 뜨네요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
준영속상태 ? 영속상태 질문있어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.준영속상태랑 영속상태랑 차이점은 알겠는데요 .. Book book = new Book(); book.setId(form.getId()); book.setName ... ... 이게 기존 디비를 갔다왔다 ?라는데 BookForm 객체중에 저장된 id를 가져와서 그런건가요 ??? 그러면 객체에서 findById로 가져와서 객체새로 만든거에 아이디를 셋하는 형태는 전부 준영속 상태인건지 ... jpa가 관리하는지 안하는지 코드로 어떻게 알수있는지 정확히 모르겠어요 애가 영속성엔티티 인지 준영속성 상태인지 알수있는방법좀 알려주세요 코드상으로 봤을떄..다른글에 공통으로 걸어주신 링크봤는데도 이해가 안되요 ..ㅠㅠ Book book = new Book(); book.setId(form.getId()); book.setName ... ... 위 코드를 그러면 영속성이라고 볼려면 어디가 바껴야되요 ? 그냥 코드상 보면 BookForm이 엔티티고 이게 아이디를 가지고 있으니 디비에 저장되어 있는거고 그 아이디를 가지고 왔으니 준영속성이라고 보는건가요? 그럼 그냥 제가 임의로 Book book= new Book(); book.setId(12);이러면 어떻게 되는건가요???
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
No Persistence provider for EntityManager named hello
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 No Persistence provider for EntityManager named hello라는 에러가 뜨는데요, persistence.xml 경로도 확인해봤고, 캐시 지우고 다시 빌드해도 여전히 persistence-unit name 을 못찾는것 같습니다. xml 파일은 슬라이드 그대로 복사하여 사용 했고, 디펜던시는 조금 다릅니다. 사진과 pom.xml을 첨부합니다. 디펜던시에 추가해야할 것이 있는건지, 아니면 경로를 왜 못찾는 걸까요,,? <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>jpa-basic</groupId> <artifactId>ex1-hello-jpa</artifactId> <version>1.0.0</version> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.hibernate.orm</groupId> <artifactId>hibernate-core</artifactId> <version>6.2.6.Final</version> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.1-api</artifactId> <version>1.0.0.Final</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.199</version> </dependency> </dependencies> </project> <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"> <persistence-unit name="hello"> <properties> <!-- 필수 속성 --> <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/> <property name="javax.persistence.jdbc.user" value="sa"/> <property name="javax.persistence.jdbc.password" value=""/> <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/> <!-- 옵션 --> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.use_sql_comments" value="true"/> <!--<property name="hibernate.hbm2ddl.auto" value="create" />--> </properties> </persistence-unit> </persistence>package hellojpa; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; public class JpaMain { public static void main(String [] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); } }Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named hello at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:61) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39) at hellojpa.JpaMain.main(JpaMain.java:8)
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
안녕하세요 11724번 질문드려요!
안녕하세요! 강의 수강 중 질문이 있어 질문 드립니다.현재 이런식으로 코드를 작성했고, 백준 스타일에 맞춰 제출을 했는데 오답처리가 되었습니다. 디버깅 시에도 1번예제6 5 1 2 2 5 5 1 3 4 4 6이걸 입력했을 때 2가 나오는 것이 아닌 dfs를 호출시 if절에서 전부 vistied[i] 부분이 false처리가 되어서 입력한 크기인 6이 answer로 계속 출력되고 있습니다.어느 부분이 문제여서 계속 찾고 있지만 발견하지 못하여 질문드립니다.package algorithmstudy.dfs; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class boj11724 { final static int MAX = 1000 + 10; static boolean[][] graph; static boolean[] visited; static int N, M; static int answer; static void dfs(int idx) { visited[idx] = true; for (int i = 1; i <= N; i++) { if (!visited[idx] && graph[idx][i]) { dfs(i); } } } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken()); M = Integer.parseInt(st.nextToken()); // 1. graph에 연결 정보 채우기 graph = new boolean[MAX][MAX]; visited = new boolean[MAX]; for (int i = 0; i < M; i++) { st = new StringTokenizer(br.readLine()); int u = Integer.parseInt(st.nextToken()); int v = Integer.parseInt(st.nextToken()); graph[u][v] = true; graph[v][u] = true; } for (int i = 1; i <= N; i++) { if (!visited[i]) { answer++; dfs(i); } } bw.write(String.valueOf(answer)); br.close(); bw.close(); } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradle 설정에 레드박스 칸이 없습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.gradle 레드박스 부분이 존재 하지 않는데 어떻게 해야 하나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 에러 질문드립니다.
package com.service.com.service; import static org.junit.Assert.assertEquals; import javax.persistence.EntityManager; import javax.transaction.Transactional; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import com.service.com.domain.Member; import com.service.com.repository.MemberRepository; @RunWith(SpringRunner.class) @SpringBootTest @Transactional public class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Autowired EntityManager em; @Test public void 회원가입() throws Exception{ Member member = new Member(); member.setName("Kim"); // when Long saveId = memberService.join(member); // then assertEquals(member, memberRepository.findOne(saveId)); } @Test(expected = IllegalStateException.class) public void 중복_회원_예외() throws Exception { Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); fail("예외가 발생해야 한다"); } } 2023-11-16 20:00:08.269 INFO 22664 --- [ main] o.s.t.c.transaction.TransactionContext : Rolled back transaction for test: [DefaultTestContext@1c3b9394 testClass = MemberServiceTest, testInstance = com.service.com.service.MemberServiceTest@5cc152f9, testMethod = 중복_회원_예외@MemberServiceTest, testException = java.lang.AssertionError: Expected exception: java.lang.IllegalStateException, mergedContextConfiguration = [WebMergedContextConfiguration@6f2cfcc2 testClass = MemberServiceTest, locations = '{}', classes = '{class com.service.com.JpashopApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@4310d43, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@3527942a, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@4f80542f, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@576d5deb, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@2794eab6, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@3972a855], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true, 'org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]]java.lang.NoSuchMethodError: org.junit.platform.engine.TestDescriptor.getAncestors()Ljava/util/Set;at org.junit.platform.launcher.core.StackTracePruningEngineExecutionListener.getTestClassNames(StackTracePruningEngineExecutionListener.java:50)at org.junit.platform.launcher.core.StackTracePruningEngineExecutionListener.executionFinished(StackTracePruningEngineExecutionListener.java:39)at org.junit.platform.launcher.core.DelegatingEngineExecutionListener.executionFinished(DelegatingEngineExecutionListener.java:46)at org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener.reportEngineFailure(OutcomeDelayingEngineExecutionListener.java:83)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:203)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:169)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:93)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:58)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:141)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:57)at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:94)at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:52)at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:70)at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98)at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:756)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)plugins {id 'java'id 'org.springframework.boot' version '2.7.17'id 'io.spring.dependency-management' version '1.0.15.RELEASE'} group = 'com.example'version = '0.0.1-SNAPSHOT' java {sourceCompatibility = '11'} repositories {mavenCentral()} dependencies {implementation 'org.springframework.boot:spring-boot-starter-data-jpa'implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'implementation 'org.springframework.boot:spring-boot-starter-validation'implementation 'org.springframework.boot:spring-boot-starter-web'implementation 'org.projectlombok:lombok'runtimeOnly 'com.h2database:h2'developmentOnly 'org.springframework.boot:spring-boot-devtools'testImplementation 'org.springframework.boot:spring-boot-starter-test'//JUnit4 추가testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' tasks.named('bootBuildImage') {builder = 'paketobuildpacks/builder-jammy-base:latest'} tasks.named('test') {useJUnitPlatform()}이거 어디가 잘못된걸까요 예제 파일 다운받아서 4로 해도 마찬가지고 5로 해도 마찬가지로 나오네요 ..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
데이터베이스쪽 이해가 안가요
안녕하세요 자바 기초를 공부하고 SPRING입문 강의를 듣고 있는 학생입니다.웹mvc와 기능 구현까지는 어찌어찌해서 흐름은 이해가 되었는데, 데이터베이스 쪽부터는 이해가 너무 안되서 힘듭니다 ㅠㅠ 데이터베이스쪽을 공부해 본적이 없어서 그런거 같은데.. 어떻게 해결하는게 좋을까요?
-
미해결실전! 스프링 데이터 JPA
QueryHint와 update 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 강의와 자료를 병행하며 공부하고있는 학생입니다. 음.. 개념에 대해 헷갈리는 부분이 있어서 질문드리는데,queryHint를 통해서 읽기전용이라고 하이버네이트에 인식 시키고 em.flush()에 update쿼리가 먹히지 않는다.라고 이해했는데 비슷한 질문글을 보니 db에는 "member2"로 들어가있다는 질문을 보고 의문이 들었습니다. 이름이 바뀌지 않아야 정상아닌가요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
[질문X] orderV6 for문으로 발라내기
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]복붙 하려다 못참아서 그만.. ㅎㅎ @GetMapping("/api/v6/orders") public List<OrderQueryDto> ordersV6(){ List<OrderFlatDto> orderFlats = orderQueryRepository.findAllByDto_flat(); Map<Long, List<OrderItemQueryDto>> orderItemMap = new HashMap<>(); Map<Long, OrderQueryDto> orderMap = new HashMap<>(); orderFlats.forEach(orderFlat -> { Long orderId = orderFlat.getOrderId(); if(orderMap.get(orderId) == null){ orderMap.put(orderId,new OrderQueryDto(orderId, orderFlat.getName(), orderFlat.getOrderDate(), orderFlat.getOrderStatus(), orderFlat.getAddress())); } if(orderItemMap.get(orderId) == null){ orderItemMap.put(orderId,new ArrayList<OrderItemQueryDto>()); } orderItemMap.get(orderId).add(new OrderItemQueryDto(orderId, orderFlat.getItemName(), orderFlat.getOrderPrice(), orderFlat.getCount())); }); orderItemMap.forEach((orderId, orderItem)->{ orderMap.get(orderId).setOrderItems(orderItem); }); return new ArrayList<OrderQueryDto>(orderMap.values()); }stream 저처럼 잘 모르시는 분들은 이게 더 와 닿으실 거임.. 아 보람차다 ㅎㅎㅎ
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
batch는 정확히 등록된 엔티티를 조회해 올때만 작동되는 건가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]from 해서 엔티티에서 가져오는 거니 Dto로 가져와도 왠지 먹힐 줄 알았는데 아니었네요..정확히 fetch 등이나 엔티티 자체를 가져올 때만 되는 거 맞나요?
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
chap 7 Class 강의 05MethodOverloading 마지막 부분에서 보여주는 .IndeOf에 컨트롤 누르고 들어가는 화면이 궁금합니다.
해당화면은 어떠한 기능을 가지는지 궁금합니다. 인텔리제이에서 제공하는 기능들을 보여주는건가요??
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
springframework를 import하는 곳에서 빨간색이 나옵니다.
aws 하기 전에 다시 복습해보고 싶어서springboot를 하나 다시 만들었습니다. 이때 버전을 3.0.12로 생성을 했구요 그렇게 생성해서 새로운 프로젝트를 열기만 했는데 어떤 에러가 나서 찾아보니 사용자 폴더에 있는 .gradle을 삭제하고 다시 프로젝트를 열어보라고 하더라고요. 그래서 삭제하고 새로 만든 프로젝트를 열어보니까 오류 없이 아주 잘 실행이 됩니다. 그렇게 혼자 배운 것들을 연습하다가 다시 강의 들으면서 작성했던 프로젝트를 열어보니 다 빨간색으로 나오네요.. 스프링에 관련된 거는 모두 빨간색으로 나오는거 같아요 사용자 폴더에 있던 .dradle 폴더를 지워서 이렇게 오류가 나오는 걸까요? 버전에 다른 프로젝트를 만들어서 충돌이 생긴 건지 어떤 이유인지 모르겠습니다. 기존 프로젝트 코드는 건들인게 하나도 없는데 왜 그런거죠? 아 그리고 강의 듣기 전에도 다른 책을 보면서 만든 프로젝트도 있는데 그 프로젝트를 열어보니 똑같이 빨간색으로 나오더라구요. 그 프로젝트도 버전이 3인가 그랬는데... 살려주세요 선생님!!
-
미해결실전! Querydsl
encrypt된 데이터의 like 검색
안녕하세요.querydsl 의 where 절을 사용하여 aes256으로 encrypt되어 저장된 db 데이터를 검색하려고 합니다.eq()일때는 가능한데 like() 검색을 어떻게 해야할지 고민이 되어 질문 드립니다.그래서 현재 생각한 방법은 where절을 사용하지 않고, Converter를 사용하여 DB에서 데이터를 전부 읽어온 다음, 복호화된 데이터를 stream으로 contains를 사용하여 like 검색과 limit, skip으로 페이징을 처리하는 방법인데요.이럴경우 데이터 양이 많아지게되면 where 조건이 없기 때문에 속도나 성능 측면에서 문제가 있을까 고민이 됩니다.현재 코드를 사용해도 문제가 없을지, 새로운 방법이 있을지 질문 드립니다.
-
미해결실전! Querydsl
querydsl 설정
스프링부트 버전 3.1.5자바 17ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ위 버전들을 사용중인데, 강의자료에 있는 querydsl로 잘 되지않아 구글링 및 질문게시판을 보다가 plugins { id 'java' id 'org.springframework.boot' version '3.1.5' id 'io.spring.dependency-management' version '1.1.3' } group = 'study' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' // ⭐ Spring boot 3.x이상에서 QueryDsl 패키지를 정의하는 방법 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" //쿼리 파라미터 로그 남기기 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' } tasks.named('test') { useJUnitPlatform() } // === ⭐ QueryDsl 빌드 옵션 (선택) === def querydslDir = "$buildDir/generated/querydsl" sourceSets { main.java.srcDirs += [ querydslDir ] } tasks.withType(JavaCompile) { options.annotationProcessorGeneratedSourcesDirectory = file(querydslDir) } clean.doLast { file(querydslDir).deleteDir() } 이렇게 설정 후 돌려보니 이렇게 설정 했을 때만 Q파일이 생성되고 잘 작동하였습니다.Build and run using을 IntelliJ IDEA로 하면 Q파일이 경로가 잘못된 것인지 생성은 되는데 import가 되지 않았습니다. 그냥 저렇게 사용하다가 '조회 API 컨트롤러 개발' 강의를 보다 QuerydslApplication을 돌려보니 오류가 나와 구글링 해보니 Build and run using을 IntelliJ IDEA로 설정해야 한다고 하더라구요 근데 그렇게 하면 또 Q파일이 에러가 나고 계속 에러가 돌고 도는 것 같습니다. Build and run using을 IntelliJ IDEA로 설정하려면 build.gradle을 어떻게 작성해야 하나요??
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
user.name과 user의 차이점 질문
안녕하세요. 제네릭클래스 (연장 전반전)에서 user.name 으로 이름을 지정해주시는데 해당 클래스에서 그냥 user를 적용하는 것과 무슨 차이점이 있는지 궁금해서 질문 남깁니다. 감사합니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
test오류
테스트 오류가 계속 노란색 불로 생기는데 어떻게 해결해야 하나요??java.lang.IllegalStateException: Failed to load ApplicationContextCaused by: 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]Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not setError 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]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]Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set