안녕하세요 JPA 강의 잘 듣고 있습니다. . 문의 내용 Users 모델의 Repository 에서 @Id 가 사용자 ID (String)인 경우 save 할때 알아서 insert / update 목적 . 코드 [ Users.java ] @Entity @SuperBuilder @Getter @Setter @NoArgsConstructor public class Users extends JpaBaseEntity{ @Id @Column(name = "userid", unique = true) private String id; private String name; private String departmentName; @JsonIgnore private LocalDateTime lastLogin; @JsonIgnore private String ip; @JsonIgnore @Enumerated(EnumType.STRING) private Authority authority; @Override public String getId(){ return id; } } [ JpaBaseEntity.java ] @Getter @MappedSuperclass @SuperBuilder @NoArgsConstructor @AllArgsConstructor public abstract class JpaBaseEntity implements Persistable<String> { @Column(updatable = false) protected LocalDateTime createdDateTime; protected LocalDateTime updatedDateTime; @Transient protected boolean isCreatedMode; @Override public boolean isNew() { return isCreatedMode; } @PrePersist private void prePersist() { createdDateTime = LocalDateTime.now(); } @PreUpdate private void preUpdate() { updatedDateTime = LocalDateTime.now(); } } String 형태의 Id 를 사용할 경우 JPA 내부에서 알아서 신규건(insert)인지 기존건(update)인지 확인하기 위해서 extends 를 위한 객체만들었습니다. 위와 같이 한 후 save 하는데, 원하는 결과가 아니고 동일 값을 insert 시도를 해서 에러가 발생하네요 ㅠ . 콘솔 에러 ERROR 42980 --- [nio-9999-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper : Unique index or primary key violation: "PUBLIC.PRIMARY_KEY_4 ON PUBLIC.USERS(USERID) VALUES ( /* 1 */ ' 아이디 ' )"; SQL statement: 급한 마음에 '스프링 데이터 JPA' 까지 수강 이전 순수 JPA 로만 구현하고 있어 모르는 부분이 많습니다. 답변 부탁드리겠습니다 (문의 전 관련 키워드 검색해봐도 없어서 문의 남깁니다)
선생님 제가 볼떈 product index .js 파일에 import css 파일을 하는 것을 못 봤는데 css 가 적용이 되더라고요 저는 css 파일 처음에 안되서 import 를 하니까 되서 혹시 어 떤 이유때문에 그런가요? 아 소스코드 보니 작성을 하셧네요 강의에 언제 작성하셧죠.. 제가 못본건가요..
항상 수업 잘 듣고 있습니다. 궁금한 점이 있어 글 남깁니다. 모달(Modal) 만들기 Only CSS 애니메이션 모달 : target 가상 클래스 영상에서요. - 모달창 열때는 css : target로 열었는데요. - 모달창 닫을 때는 스크립트 써야 하나요? 궁금합니다. 항상 감사드립니다.
제가 리액트부분을 잘 몰라서 질문드립니다. 제가 이해한것이 맞는지 궁금해서 질문드립니다. 리액트에서 파일 업로드를 해줘서 저한테 파일을 넘겨주면 제가 DB에 파일명과 파일경로를 저장하고 그 경로에 사진을 저장합니다. 리액트에서 저장했던 이미지를 띄우려면 제가 DB에 저장된 파일명과 파일경로를 리액트에 넘겨주고 리액트가 그 경로에서 그 파일명을 가진 사진을 웹에 띄울 수 있다. 라고 이해를 하고있는데 혹시 이게 맞을까요?
이런 오류가 계속 뜨는데 어떻게 해결해야 하나요? application properties와 html 파일들과 나머지 다 동일하게 하고 gradle 설정만 이렇게 적용했습니다 intellij로 두개다 설정하니까 계속 오류가 나서 gradle로 바꾸어 설정했더니 오류가 나지 않다가 html파일 두개를 추가로 생성하고 다시 run 하니까 localhost:8080에도 계속 오류가 납니다 다시 프로젝트 다운받아서 그대로 다시 구현했는데 똑같은 오류가 나네요 ㅠㅠ basic.html에서 크롬버튼 클릭하니까 http://localhost:63342/servlet/servlet.servlet.main/webapp/basic.html?_ijt=e7bm5tinsgmskend4btf8fq2ce&_ij_reload=RELOAD_ON_SAVE 여기로 연결되네요
현재 저는 Order Microservice에서 mariaDB 연동 강의를 듣고있습니다. 제가 mysql이 3306 포트를 사용중이라 mariadb port를 3307로 설정했으며 db이름은 mydb로 생성했습니다. 그리고 비밀번호도 제대로 입력한거 맞습니다. 그런데 order-service에서 h2-console에서 비밀번호까지 입력하고 Test Connection하면 연결이 안됩니다. 저는 분명히 pom.xml에서 다음과같이 mariadb 디펜던시를 추가하고 (혹시몰라서 mavenrepository 사이트에있는거 복사했습니다.) 메이븐 새로고침까지 누르고 order-service를 실행했습니다. <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <version>2.7.2</version> </dependency> 그리고 Maven 확인해도 mariadb 디펜던시는 추가돼있습니다... 현재 order-service의 application.yml은 다음곽 같습니다.. 설정정보가 대체 뭐가 문제일까요?? server: port: 0 # 0번 포트는 랜덤포트 spring: application: name: order-service h2: console: enabled: true settings: web-allow-others: true path: /h2-console jpa: hibernate: ddl-auto: update show-sql: true generate-ddl: true datasource: driver-class-name: org.h2.Driver url: jdbc:h2:mem:testMsaDb # jdbc url eureka: instance: instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}} client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://127.0.0.1:8761/eureka #(127.0.0.1 = localhost) logging: level: com.example.orderservice: debug 에러에는 계속 Class "com.mariadb.jdbc.Driver" not found [90086-176] org.h2.message.DbException: Class "com.mariadb.jdbc.Driver" not found [90086-176] at org.h2.message.DbException.get(DbException.java:167) at org.h2.util.Utils.loadUserClass(Utils.java:672) at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:135) at org.h2.server.web.WebServer.getConnection(WebServer.java:693) at org.h2.server.web.WebApp.test(WebApp.java:896) at org.h2.server.web.WebApp.process(WebApp.java:222) at org.h2.server.web.WebApp.processRequest(WebApp.java:171) at org.h2.server.web.WebServlet.doGet(WebServlet.java:126) at org.h2.server.web.WebServlet.doPost(WebServlet.java:163) at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:750) Caused by: org.h2.jdbc.JdbcSQLException: Class "com.mariadb.jdbc.Driver" not found [90086-176] at org.h2.message.DbException.getJdbcSQLException(DbException.java:344) ... 44 more Caused by: java.lang.ClassNotFoundException: com.mariadb.jdbc.Driver at java.net.URLClassLoader.findClass(URLClassLoader.java:387) at java.lang.ClassLoader.loadClass(ClassLoader.java:419) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) at java.lang.ClassLoader.loadClass(ClassLoader.java:352) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.h2.util.Utils.loadUserClass(Utils.java:665) ... 42 more 이라고 해서 검색해보면 해결책은 디펜던시 추가하는거 밖에 없습니다... 뭐가 틀렸는지 잘 모르겠어서 질문남깁니다. 감사합니다..
안녕하십니까!! 다름이아니라 첫번째캔버스가 닿고 나서 fixed로 고정된후 두번째캔버스가 나올때 이미지가 아니라 그냥 서서히 그라데이션만 주고싶은데 어떻게 해야할지 도무지 감이 안잡혀서요... 스크롤 내릴때 그라데이션이 번지는(?) 듯한 느낌을 주고싶은데 어떻게 해야할까요..
PostCard.js 에서 reducer안에있는 user.js 에 정보를 불러오는데 reducer 더미데이터를 import 하는 구문이 없길래 혹시 props 에 {post}를 집어서 데이터를 불러서 오는건지 아니면 다른 방법으로 reducer에 더미데이터를 불러오는지 궁금해서 질문드립니다 !
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part8: Entity Framework Core
안녕하세요, 강의 잘 듣고 있습니다! 5분쯤에 나오는 내용을 보면 플레이어, 아이템을 동시에 생성하는 걸로 이해가 되거든요 제가 하고자 한건 이후에 아이템만 추가로 생성하고 싶었는데, Owner 부분에서 처리를 어떻게 해야하는지.. 오류가 나서 문의드립니다. db에서 보면 Rookiss는 1, Faker는 2로 OwerId 컬럼에 저장된걸 보고 Owner = 1 or 2 이런식으로 입력하니 오류가 나더라구요.. 기존에 생성되어있는 플레이어 정보를 참조하는 방법이 궁금합니다. 감사합니다
안녕하세요, 강사님께서는 sizeof(unsigned int)가 unsigned int라는 자료형을 출력하신다고 하는데 저는 unsigned long long 이라고 뜹니다. 저는 Window 유저인데 왜 이렇게 다르게 나오는 건가요?(Visual Studio 2022버전입니다)
실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
안녕하세요. 강의 덕분에 코틀린을 잘 배우고 있는 수강생 입니다. 다름이 아니라, 예저 소스에서 User Entity로 DB에 테이블을 생성하고 있는데, 제가 별도로 만든 프로젝트에서는 동일하게 User로 Entity 어노테이션을 붙이고 애플리케이션을 시작하면 에러가 발생하길래 에러 내용으로 찾아봤더니, User Entity를 user라는 이름으로 테이블을 생성하려고 하는데, user는 사용할 수 없는 이름이라는 것 같습니다(예약어) 예제 소스와 동일하게 설정을 했는데 제가 놓치고 있는 부분이 있는 걸까요?
프로미스 resolve는 비동기환경에서 작동해 데이터를 저장하고 then이 나오면 데이터를 주는데 const a = setTimeout({} => {},0)으로 비동기환경에서 데이터를 받아오고 이 변수를 then위치에서 쓰는거랑 무슨 차이가 있는지 감이 잘 안 잡혀요 ㅠ 제가 몬가 단단히 잘못알고 있는건가요?..
풀이방법은 유사하나, 저는 정답을 answer += map.size() + " "; 로 하여 진행했는데 정답은 올바르게 나오나 시간초과가 나오더군요. 그래서 강사님께서 하신대로 리스트를 만들어 size넣고 반환하니까 시간초과가 안뜨는데 리스트에 넣어 출력하는것이 더 효율적인 이유가 궁금합니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요. 먼저 강의 잘 듣고 있습니다. video_call 작업 중 오류가 있어 질문 남깁니다. iOS 빌드 시 Lexical or Preprocessor Issue (Xcode): 'AgoraRtcKit/AgoraRtcEngineKit.h' file not found /Users/zrookiepro/Dev/flutter_sdk/flutter_3.0.5_arm/.pub-cache/hosted/pub.dartlang.org/agora_rtc_engine-5.3.0/ios/Classes/Base/RtcEnginePlugin.h:1:8 구글링 해봐도 해법을 찾지 못하고 있습니다. flutter sdk : 3.0.5 arm agora_rtc_engine: ^5.3.0 사용했습니다만 5.1.0 / 5.2.0 다운그레이드 해도 같은 오류 입니다. 혹시 확인 되시는지 부탁드립니다.