본문 바로가기

전체 글294

@Entity에서 키가 여러개일 때. Entity로 연동 시, DB의 키가 여러개일때, @Id를 여러개 붙이면, 실행 시 오류가 발생한다. Serializable을 구현하라고.. 구글링을 해보니.. 키가 여러개일 때, 별도로 뭐 하나 구현해주어야한다. @Embeddable을.. 나의 경우 원래 DTO는 아래와 같은 형식이었다. @Data @Entity @Table(name="MyTable") public class MyTableInfo{ @Id private String id1; @Id private String id2; private String name; private String value; } 이렇게 하면 오류가 발생하니, @Embeddable애노테이션을 사용하여 별도의 키 클래스를 하나 정의하고, 그걸 여기 Entity에 추가해주어.. 2022. 8. 9.
Maven에서 parent의 pom.xml 의존성 정보 삽입 만약 project구조가.. root - module1 - module2 - module3 ... 위와 같이 되어있는 프로젝트. module1, module2, module3에서 똑같이 lombok패키지를 사용하여 의존성이 있다고 가정해보자. 그러면 의존성이 있음을 알려줘야하니까.. pom.xml에 적어주면 된다. module1의 pom.xml, module2의 pom.xml ... 만약 모듈이 100개라면? 위 방법으로는 100개의 pom.xml을 수정해주어야한다. 만약 버전까지 같이 정해버리면? 근데 버전이 바뀐다면? 한땀한땀 바꾸어야지. 그게 싫다면.. parent의 pom.xml의 dependencies안에 작성해두면 된다. #parent's pom.xml org.projectlombok lomb.. 2022. 8. 3.
Function 만들어쓰기 (MySQL) MySQL이라.. MSSQL카테고리에 들어가기엔 조금 이상하지만.. (카테고리명을 바꿀까..?) 저장 프로시저처럼 Function을 만들어서도 사용 가능하다. UUID생성같이 여기저기서 사용될 수 있는 쿼리는.. 코드에 넣지말고 그냥 function으로 빼버리자. DELIMITER $$ CREATE FUNCTION myfunc() RETURNS varchar(20) BEGIN DECLARE generatedUID = varchar(20); SET generatedUID = CONCAT(DATE_FORMAT(NOW(),'%Y%m%d%H%i%s%f'),1,17) LPAD(FLOOR(RAND()*1000),3,'0')); RETURN generatedUID; END DELIMITER ; 위와같이 작성 가능하다.. 2022. 8. 2.
maven컴파일시 javax.validation.constraints 오류 maven project컴파일 시, javax.validation.constraints와 관련되어 오류가 나는경우가 있다. javax.validation validation-api 위 javax.validation을 pom.xml의 dependency에 추가하면 된다. 어.. dependency중 몇몇 아티팩트들의 버전을 올렸더니 나타났다.. 이런거 나오면 계속 찾아가며 해야지.. 2022. 8. 2.
Jar실행 시, java.lang.ClassNotFoundException발생. 스프링부트로 프로젝트 만들고.. 이제 테스트해보았다. IntelliJ 내장으로는 잘 돌았다. 근데.. jar로 실행하니 오류난다. 뭐야 이거.. -_-... (뭐긴.. 내가 모르니까 삽질한거지) 어.. 우선 output을 ${projectRootBaseDir}/target 으로 뽑아내고, 거기서 실행해본거다. 근데 jar파일이 내꺼 하나만 딱 있더라. Main에서 뭘 못찾은거다. 불러와야할 클래스들이 없는경우라고 한다. (이유는 못불러와서). 다른 패키지가 포함되어야한다면 같은 경로에 있어야하는것 같다. (C++, C#도 그랬으니까.. 원칙적으로는) 우선 패키지를 어떻게 같이 포함시켜줄까? 스택오버플로우에는 다 있더라.. (역시 스형..) org.apache.maven.plugins maven-depen.. 2022. 8. 1.
Spring Mapper -> Repository로 바꾸어보기 Mapper로 구현했던것을 JpaRepository를 상속받도록 변경해보았다. (일일이 찾기, insert하는 코드 넣기 귀찮아서 알아본거라고는 말 못함..) 그냥 Mapper를 JpaRepository를 상속받도록 변경했다. //before @Mapper public interface MyClassMapper { @Select("SELECT [columns] FROM Class_Info WHERE Name='#{paramname}') MyClass findMyClassByName(@Param("paramname") String name); } //after @Repository public interface MyClassRepository extends JpaRepository{ //여기서 기본적인건 .. 2022. 8. 1.
728x90