본문 바로가기
반응형

전체 글1036

DBeaver 기존 Script 삭제방법 DBeaver에서 새로 Script를 작성할 때마다 이전에 쌓여있던 수 많은 Script 들이 보이는데 위 화면에서는 삭제할 수 없고 이걸 삭제해 주려면 프로젝트 탭으로 이동한 뒤 General > Scripts 를 열어주면 스크립트들이 쭉 나오는데 여기서 필요한 항목을 제외하고는 우클릭 후 삭제해주면 된다 삭제를 하고 나서 다시 Script를 생성해보면 정상적으로 적용이 된 것이 보인다 2022. 8. 13.
DBeaver 여러 INSERT 한번에 삽입 시 에러 방지방법 DBeaver에서 이미지와 같은 여러 줄의 INSERT 문을 CTRL + ENTER로 삽입하려고 하면 SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 이런 에러가 발생하게 되는데 한 줄씩 INSERT를 해서 해결할 것이 아니라 INSERT 문만 한 스크립트(탭) 으로 모아놓은 뒤 우클릭 후 실행 > SQL 스크립트 실행을 눌러주면 여러 줄의 INSERT 쿼리라도 정상적으로 삽입이 된다 2022. 8. 13.
JPA 테이블 생성 시 컬럼 순서 자동 변경 방지방법 JPA에서 ddl-auto를 사용해서 시작과 동시에 자동으로 테이블 생성 시 Entity 에서 순서대로 입력한 컬럼 순서대로가 아니라 a~z 순서대로 컬럼이 삽입되게 되는데 이 순서를 지정할 수 없기 때문에 운영에서는 절대로 적용하면 안되고 Local 에서 테스트 용도로 사용할 경우에는 그냥 이상하게 깔리는 대로 사용해야 한다 그래도 Entity에 작성한 Column 순서대로 사용하려면 application.properties 파일을 연 뒤 spring.jpa.hibernate.ddl-auto=none 위 옵션을 추가해서 자동 생성을 막아주고 DB에서 수동으로 테이블을 생성해서 사용하거나 혹은 테이블 생성 시 schema.sql 파일을 통해 테이블을 생성시킨 뒤 사용해주면 된다 2022. 8. 11.
JPA Entity Column CamelCase로 생성하는 방법 JPA에서 @Entity 클래스 안에 컬럼명을 testName 같은 CamelCase로 지정해도 스프링을 실행하며 테이블 생성 시 컬럼명이 test_name 같은 snake_case로 생성되는 경우가 있는데 hibernate의 기본 옵션이 이렇기 때문에 application.properties 파일로 이동한 후 spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl 위 내용을 복사 붙여넣기 해 주면 hibernate 기본 옵션을 따르지 않고 내가 Entity에 설정한 컬럼명을 따라가게 된다 2022. 8. 11.
JPA @CreatedDate @LastModifiedDate NULL 들어가는 경우 해결방법 JPA에서 @CreatedDate @LastModifiedDate 어노테이션을 사용하는 경우 각각 Insert 시 / Insert, Update 시 현재 시간이 들어가게 되는데 두 어노테이션을 사용해도 테이블에 Insert / Update 시 NULL이 들어올 경우에는 다음과 같은 부분을 고쳐주면 되는데 1. Application 클래스에 @EnableJpaAuditing 어노테이션 삽입 - Application 클래스란 메인 메소드가 들어있는 클래스를 말한다 2. Entity 클래스에 @EntityListeners(AuditingEntityListener.class) 어노테이션 삽입 - @CreatedDate @LastModifiedDate 어노테이션을 단 Column을 다른 클래스에서 extends로.. 2022. 8. 10.
JPA @LastModifiedDate Column Insert 시 NULL로 넣는 방법 @LastModifiedDate @Column(insertable = false) private LocalDateTime updated_date; JPA에서 Entity에서 특정 컬럼에 @LastModifiedDate 어노테이션을 달아주면 특정 Row에 Insert / Update 시 현재 시간이 들어가게 되는데 Insert 시에는 NULL이 들어가고 Update 시에만 현재 시간이 들어가게 하려면 @Column을 @Column(insertable = false) 로 바꿔주면 Update 시에만 값이 들어가게 된다 2022. 8. 10.

반응형