Caused by: org.hibernate.AnnotationException: Collection 'com.testcafekiosk.spring.domain.order.Order.orderProducts' is declared with a raw type and has an explicit 'targetEntity'
결론부터 말하면 List<OrderProduct>
로 선언한 게 문제였다
@Entity
@Table(name = "orders")
class Order(
@OneToMany(mappedBy = "order", cascade = [CascadeType.ALL])
var orderProducts: List<OrderProduct> = mutableListOf()
...
) {
...
}
코틀린에서는 List Interface의 구현이 List<out E>
로 되어 있고, 이 때문에 List<? extends OrderProduct>로 되어버린 것
MutableList Interface의 구현은 MutableList<E>
로 되어 있어 MutableList로 변경해서 해결
@Entity
@Table(name = "orders")
class Order(
@OneToMany(mappedBy = "order", cascade = [CascadeType.ALL])
var orderProducts: MutableList<OrderProduct> = mutableListOf()
...
) {
...
}