회사에서 Spring boot 3 버전의 프로젝트를 새롭게 구성하던 중
위와 같은 에러를 마주했다.
원인은, 테이블의 PK키가 복합키인 테이블이 있었는데 복합키인지 spring에 알려주지 않아

위 경고가 발생하게 됐다. 해결은 간단하다.
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity
@Table(name = "board")
public class board implements Serializable {
@Id
private long userId;
@Id
private long postId;
private long createdBy;
private String createdAt;
}
위 코드 처럼 @Id만 사용된 어노테이션을 베이스로 사용하면 경고가 발생하기 때문에
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity
@EqualsAndHashCode
@IdClass(Board.class)
@Table(name = "board")
public class board implements Serializable {
@Id
private long userId;
@Id
private long postId;
private long createdBy;
private String createdAt;
}
@EqualsAndHashCode 어노테이션과
@IdClass(Class.class) 어노테이션을 사용하면 해당 에러 문구를 없앨 수 있다.
Share article