[JPA] 오류: property mapping has wrong number of columns

현수·2022년 2월 9일
0
post-custom-banner

Spring Data JPA를 사용하여 Entity와 Servcie를 만들고 Junit5로 테스트를 만들어 실행하던 중 아래와 같은 오류를 얻었다.

Caused by: org.hibernate.MappingException: 
property mapping has wrong number of columns: 
sch.cqre.api.model.entity.PostEntity.likes type: object

나 같은 경우는 데이터베이스를 먼저 Mysql에서 생성한 후 IntelliJ를 이용하여 자바 Entity를 자동 생성했다.

@Data
@Entity
@Table(name = "Post", schema = "main")
public class PostEntity {
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Id
	@Column(name = "post_id")
	private Long postId;
	@Basic
	@Column(name = "author_id")
	private Long authorId;
	@Basic
	@Column(name = "post_title")
	private String postTitle;
	@Basic
	@Column(name = "post_content")
	private String postContent;
	@Basic
	@Column(name = "views")
	private Object views;
	@Basic
	@Column(name = "likes")
	private Object likes;
	@Basic
	@Column(name = "thumbnail")
	private String thumbnail;
	@Basic
	@Column(name = "created_at")
	private Timestamp createdAt;
	@Basic
	@Column(name = "updated_at")
	private Timestamp updatedAt;

위 코드가 그 내용인데 viewslikes 컬럼을 보면 Object로 정의되어 있었고 이는 Database와 매칭 할 수 없어 오류를 출력한 것이다.

Mysql 데이터베이스를 보면 int unsigned로 되어 있는데 이는 Java에서 int unsigned를 잘 지원하지 않아 Object로 임의 설정한 것 같다.

해당 자료형을 Objectint형으로 변경하여 오류를 해결했다.

post-custom-banner

0개의 댓글