Spring Kotlin 사용하면서 있었던 오류

Kyojun Jin·2024년 5월 27일
0

Spring

목록 보기
5/12

JPA

List 오류

테이블 A와 테이블 B가 OneToMany 관계일 때, 다음과 같이 정의돼있었다.

class A {
	@OneToMany
   	var bs: List<B>? = null
}

A.bs is declared with a raw type and has an explicit 'targetEntity'

다음 오류는 Kotlin에서 List가 수정 불가하기 때문에 발생한다.
ListMutableList로 변경해준다.

OneToMany - ManyToOne 양방향 오류

could not prepare statement [Column "{테이블이름}_{부모pk칼럼이름}" not found;

class Parent {
	@Id
    var parentId: Int = 1
    
	@OneToMany(mappedBy = "parent")
    var children: MutableList<Child> = mutableListOf()
}

class Child {
	@Id
    var childId: Int = 1
    
    @ManyToOne
    var parent: Parent = Parent()
}

JPA에서 조인할 때 쓰는 칼럼명이 기본적으로 {테이블이름}_{부모pk칼럼이름} 이라서 그렇다.
자식 쪽의 부모 멤버변수에 @JoinColumn("parent_id") 와 같이 부모의 pk 칼럼명을 명시해야 한다.

Spring 일반

Validation 안 되는 현상

class SomeDTO (
	@NotBlank
	var foo: String = "",
    var bar: String = ""
) {

}

이렇게 할 경우 Java는 @NotBlank 어노테이션을 생성자에 달게 된다.

@field:NotBlank 라고 달아줘야 필드에 달게 된다.

0개의 댓글