Bin/개발일지
2024-01-09, Today I Learned @IdClass Composite key in Spring
개발바닥곰발바닥!!!
2024. 1. 9. 21:46
📖 How to make Composite Keys in Spring Entity
📖Entity에 복합키로 id구성하는 방법 @IdClass, @EmbeddedId
📖 How to make Composite Keys in Spring Entity 1. IdClass로 구현하는 방식 사용 방법은 간단하다! 1) Entity에 id를 설정해준다 @IdClass(UserPostId.class) 클래스에 이 어노테이션을 붙여서 id를 지정해주고 @Id 복합
greedydeveloper.tistory.com
🚩Issue : jakarta.validation.UnexpectedTypeException
{"timestamp":"2024-01-09T03:05:08.657+00:00","status":500,"error":"Internal Server Error","path":"/api/v1/posts"}
jakarta.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'jakarta.validation.constraints.Size' validating type 'java.lang.Integer'. Check configuration for 'deadlineMins'
Integer validator가 없다고 함
public class SpringValidatorAdapter implements SmartValidator, jakarta.validation.Validator {
이 파일 살펴봄
@Override
public void validate(Object target, Errors errors) {
if (this.targetValidator != null) {
processConstraintViolations(this.targetValidator.validate(target), errors);
}
}
Integer가 저기서 취급하는게 아닌가봄
⛳Solution : Integer에 @Size 대신 @Min 혹은 @Max 사용
Size로 쓰면 안되고 Min이나 Max annotation을 써야한다고 함
@NotNull
@Size(max=60)
Integer deadlineMins,
@NotNull
@Size(max=3)
Integer deadlineHour,
→
@NotNull
@Max(59)
Integer deadlineMins,
@NotNull
@Max(3)
Integer deadlineHour,