table : prodPlan pk : factoryCode, prodplanId column : itemCode ... table : Item pk : factoryCode, materialCode column : itemName... 테이블 구조는 이렇고 저는 MSSQL을 연동해서 기본적인 테이블 생성은 MSSQL에서 생성하여 사용하고 있습니다. prodPlan(N) : item(1) 로 ManyToOne 매핑을 하려고 하는데요 @Entity @IdClass(ProdPlanId.class) public class ProdPlan { @Id private String factoryCode; @Id private Long prodplanId; @Column(name = "ITEM_CODE") private String itemCode; //... @ManyToOne @JoinColumn(name = "FACTORY_CODE",referencedColumnName = "FACTORY_CODE",insertable = false, updatable = false) @JoinColumn(name = "ITEM_CODE",referencedColumnName = "MATERIAL_CODE",insertable = false, updatable = false) private Item item; } @Entity @IdClass(ItemId.class) public class Item { @Id private String factoryCode; @Id private String materialCode; //... } @JoinColumn에 name 속성이 외래키의 이름을 정의하는거라고 알고 있습니다. factoryCode는 외래키가 아니고 두 테이블에서 복합키이자 기본키입니다. (복합키는 class ProdPlanId implements Serializable을 사용하여 @IdClass 어노테이션을 사용하였습니다.) 그래서 위에 코드와 같이 구현을 하면 FACTORY_CODE가 중복컬럼에러가 나서 일단 insertable, updatable = false로 임시해결을 했는데 해결을 한게 아닌 거 같아서 다른 방법이 있나 찾아보던 중 inheritancetype.table_per_class 이 구조가 조금 비슷해보여서 진행하려 했으나 @JoinColumn에서 어떻게 사용해야 하는지 모르겠습니다. (factoryCode는 외래키가 아닙니다! 찾아보니 일대일 매핑만 나왔습니다ㅠㅠ) 읽기전용이 아닌 prodPlan 테이블의 ITEM_CODE와 Item 테이블의 MATERIAL_CODE를 조인하려 했는데요. 그럴려면 @Column itemCode를 지우고 사용해야 중복컬럼에러를 피할 수 있었습니다. @Column itemCode를 선언하고 조인하는 방법은 없을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select * from member where name = ?] Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "MEMBER" not found (this database is empty); SQL statement: select * from member where name = ? [42104-214] org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select * from member where name = ?] 통합테스트를 진행시키면 위와 같은 에러가 나옵니다. 강의를 들으면서 MemberServiceIntegrationTest.java를 작성했고, jdbc 템플릿을 이용해 db 구축도 했습니다. 오타가 있는지 계속 확인해보았지만 오타로 보이는것이 없어 질문 올립니다. 스프링이 완전 처음이라 강의를 100퍼센트 이해하면서 코드를 따라 짜지 못했기 때문에, 질문을 정확하고 자세하게 말씀 못드려서 죄송합니다... https://github.com/ffe4el/Spring_prj/tree/main/hello-spring 오류가 나는 코드를 깃허브 위 주소에 올려놓았습니다. 살펴봐주세요...ㅠ
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
#include <iostream> using namespace std; // 다중 포인터 void SetMessage(const char* a) { a = "Bye"; } void SetMessage(const char** a) { *a = "Bye"; } int main() { // .rdata [H][e][l][l][o][\0] char형 배열 형태 // main stackframe msg[ Hello주소 ] << 8바이트 const char* msg = "Hello"; // [매개변수][RET][지역변수(msg(Hello주소))] [매개변수(a(Bye주소))][RET][지역변수] SetMessage(msg); cout << msg << endl; // .rdata [H][e][l][l][o][\0] char형 배열 형태 // msg [ Hello주소 ] << 8바이트 // pp[ &msg ] << 8바이트 const char** pp = &msg; SetMessage(pp); cout << msg << endl; return 0; } 메모리를 찬찬히 까보면서 확인했는데 궁금한점이 있어서 글 남깁니다 1. void SetMessage(const char** a) { *a = "Bye"; } 이 부분이 실행되고 난 뒤에 msg의 시작주소가 Hello주소가 아닌 Bye 주소를 나타내고있는데 원래 포인터를 이용하면 해당 주소로 텔레포트 후 그 주소의 데이터에 직접 접근해서 데이터를 변경하는 것으로 알고있습니다 그런데 문자열은 .rdata로 수정불가하기 때문에 단순히 msg가 가리키는 주소만 변경해서 즉, msg의 시작주소가 Hello주소가 아닌 Bye의 시작주소를 가리키게 된건가요? 2. 함수 호출이 끝난 뒤에는 Bye주소에 해당하는 값인 문자열 "Bye"는 메모리상에 데이터로 남아있던데 이 데이터가 사라지지 않는 이유를 잘 모르겠습니다. 스택 프레임 구조에서 [매개변수][RET][지역변수] 이 세가지만 없어지게 되서 그런건가요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
같은 질문 해주신 글을 보았는데, 실제 컴퓨터의 ip를 넣어주어야 한다는 답변을 써주셨던데 login_screen.dart 파일에서 final emulatorIp = ''; final simulatorip = ''; 이 부분의 ip주소만 바꾸면 되는게 맞나요? 어느 부분을 더 수정해야 하는지 궁금합니다..
MSW 강의 중 graphqlFetcher 에러 관련하여 문의 드립니다. 1.product 폴더 - index.ts 위와 같은 오류와 빨간 줄에 커서를 올리면 ================================== No overload matches this call. Overload 1 of 3, '(queryKey: QueryKey, options?: Omit<UseQueryOptions<Product[], unknown, Product[], QueryKey>, "queryKey"> | undefined): UseQueryResult<...>', gave the following error. Type '() => Promise<unknown>' has no properties in common with type 'Omit<UseQueryOptions<Product[], unknown, Product[], QueryKey>, "queryKey">'. Overload 2 of 3, '(queryKey: QueryKey, queryFn: QueryFunction<Product[], QueryKey>, options?: Omit<UseQueryOptions<Product[], unknown, Product[], QueryKey>, "queryKey" | "queryFn"> | undefined): UseQueryResult<...>', gave the following error. Type 'Promise<unknown>' is not assignable to type 'Product[] | Promise<Product[]>'. Type 'Promise<unknown>' is not assignable to type 'Promise<Product[]>'. Type 'unknown' is not assignable to type 'Product[]'.ts(2769) types.d.ts(9, 89): The expected type comes from the return type of this signature. ================================ 타입에 대한 문제 일까요? 위와 관련된 코드 들은 문제 없이 입력한 것 같습니다. graphql 폴더 안 product.ts queryClient.ts 무엇이 잘 못된 것일까요ㅠ
@RequiredArgsConstructor 이 애노테이션은 final이 붙은 변수의 생성자를 자동으로 생성해주고, 생성자가 하나만 있다면 @AutoWired를 생략할 수 있다고 알고 있습니다. private final MemberRepositoryV1 memberRepository; 근데 여기서, MemberRepositoryV1가 Bean으로 등록되지 않았는데 어떻게 자동으로 주입을 받을 수 있는 것이죠?
안녕하세요, 선생님. 어제 배열 파트를 다시 복습하면서 생긴 문제가 있습니다. 선생님께서는 for반복문에 for -each문을 이용하면서 출력되도록 하셨는데 저는 조금 더 간결하게 하고자 for-each문 없이 주석처리한대로 해보니 사이즈[I@75b84c92(재고있음) 이렇게, 사이즈에 해당하는 값은 안나오더라구요. 혹시 이렇게 접근하면 안되는 이유가 있을까요? 두 번째로는 메소드에 관한 문제입니다. 아래 코드처럼 메소드 값을 메인영역 밖에서 호출 시 에러나는 이유가 무엇인가요? 잘은 모르지만 혹시나 지역변수 이런 것과 상관이 있는건가요? //Quiz. 배열을 활용하여 쇼핑몰에서 구매 가능한 신발 사이즈 옵션을 출력하는 프로그램을 작성하시오 //조건 : 신발 사이즈는 250부터 295까지 5단위로 증가 //조건 : 신발 사이즈 수는 총 10가지 //실행결과 : 사이즈 250 (재고있음) / 사이즈 260 (재고있음),,, size에 해당하는 값을 배열로 만들기 // int size = 250; // int size = 255; // int size = 260; int[] size = new int[10]; for (int i = 0; i < size.length; i++) { size[i] = 250 + (5 * i); // System.out.println("사이즈"+size+"(재고있음)"); //왜 안되는지????????? } for (int size2 : size ) { System.out.println("사이즈"+size2+"(재고있음)"); } ------------------------------------------------------------------------------- public class Test1 { //호텔 전화번호 public static String getPhoneNumber(){ return "02-123-4567"; } //호텔 위치 public static String getAddress(){ return "서울시 어딘가"; } //호텔 엑티비티 public static String getActivities(){ return "수영장, 당구장, 볼링장"; } public static void main(String[] args) { //왜 메인영역 밖에서 호출하면 에러나지????? //메인 밑에서 매소드 호출 System.out.println("호텔위치 : "+getAddress()); System.out.println("호텔 전화번호 :"+getPhoneNumber()); System.out.println("호텔 엑티비티 : "+getActivities()); }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오)예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예 [질문 내용] Run이 실패하는데 제가 환경변수를 잘못 설정한건지 설ㅍ치를 잘못 한건지 뭐가 문제인건지 모르겠네요ㅠㅠㅠ
강사님 안녕하세요. 강사님 강의를 듣고 jwt를 배우고 있습니다. Users entity의 role를 enum타입으로 변경하고 싶은데 , PrincipalDetails의 getAuthorities을 어떻게 설정하면 될까요? Users Role enum 클래스 PrincipalDetails 클래스
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup . Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081 Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01 Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/03 to old ns http://schemas.android.com/sdk/android/repo/addon2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/03 to old ns http://schemas.android.com/sdk/android/repo/repository2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/03 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01 Warning: ����ġ ���� ���(URI: "", ����: "base-extension")�Դϴ�. �ʿ��� ��Ҵ� <{}codename>,<{}layoutlib>,<{}api-level>�Դϴ�. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':react-native-nmap:generateDebugRFile'. > Could not resolve all files for configuration ':react-native-nmap:debugCompileClasspath'. > Failed to transform react-native-0.71.0-rc.0-debug.aar (com.facebook.react:react-native:0.71.0-rc.0) to match attributes {artifactType=android-symbol-with-package-name, com.android.build .api.attributes.BuildTypeAttr=debug, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-api}. > Execution failed for JetifyTransform: C:\Users\jeong\.gradle\caches\modules-2\files-2.1\com.facebook.react\react-native\0.71.0-rc.0\7a7f5a0af6ebd8eb94f7e5f7495e9d9684b4f543\react-native-0.71.0-rc.0-debug.aar. > Java heap space * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org at makeError (C:\Users\jeong\Glins\node_modules\execa\index.js:174:9) at C:\Users\jeong\Glins\node_modules\execa\index.js:278:16 at processTicksAndRejections (node:internal/process/task_queues:96:5) at async runOnAllDevices (C:\Users\jeong\Glins\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:109:5) at async Command.handleAction (C:\Users\jeong\Glins\node_modules\@react-native-community\cli\build\index.js:192:9) info Run CLI with --verbose flag for more details. PS C:\Users\jeong\Glins> 이런식으로 에러가 뜨는데 모든 캐시를 지우고 다른 프로젝트에서 시도해봐도 해결이 되지 않네요...ㅠㅠ
안녕하세요 ! 계속 테스트 검증하는 과정을 반복하다보니 궁금증이 생겨 질문드립니다. 강사님이 검증 코드를 작성하실 때 이 강의 코드로 예시를 들면 memberService.getMemberRepository(); 가 memberRepository1 변수로 있음에도 불구하고 assertThat(memberRepository1).isSameAs(memberRepository); 으로 작성하지 않고 assertThat(memberService.getMemberRepository()).isSameAs(memberRepository); 로 작성하시더라구요. 이 강의에서뿐만 아니라 지금까지 다른 강의에서도 검증 코드를 작성하실 때 변수를 사용하시지 않는 것 같았는데, 혹시 이렇게 작성하시는 이유가 따로 있을까요?
안녕하세요, Hello JPA - 프로젝트 생성 에서 Windows의 IntelliJ IDEA 2023.1(Community Edition) 설치해서 File->New->Project 들어갔는데 강의 화면과 다른 관계로 오류가 있는거 같습니다. 저는 maven 이 없어서 maven archetype 을 선택하고, Catalog에 internal, default local, maven central 바꿔가면서 add archetype 에서 영한 강사님이 예시로 보여준 문구들을 넣어서 프로젝트를 만들었는데요, 아래와 같은 오류 메세지가 뜹니다. The desired archetype does not exist (jpa-basic:ex1-hello-jpa:1.0.0) 최신 IntelliJ로 프로젝트 생성을 위해서는 어떻게 설정해야 할까요?
안녕하세요 트로트 리스트 만드는 부분 강의를 듣고 있습니다. navigation 리소스 파일을 만들고 main.xml에 FragmentContainerView를 만들어 주려고 하니 첫번째 사진과 같은 오류가 발생합니다. 인터넷에 검색해도 방법이 나오지 않아 질문 드립니다,,
안녕하세요 비전공자로 현재 국비 교육을 듣고있는 학생입니다 국비 교육으로는 전공자를 따라잡기에 한계가 있어 강의에 도움을 받고자 주변 지인을 추천받아 강사님 강의를 듣게 되었습니다. 지겹지않게 목소리도 시원시원하셔서 너무나 잘듣고 있습니다. 강의 듣는 중 복습하기 위해 제 개인 NOTION에다가 강사님 강의교안 자료에 있는 내용이나 사진을 첨부하려고하는데 첨부해도되는지 문의드리려 글을 남깁니다