java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Character (java.lang.String and java.lang.Character are in module java.base of loader 'bootstrap') - JPA 에러

신형주·2023년 9월 7일
0

클래스 캐스트 에러가 발생했다. entity.save()를 했을 뿐인데 발생했다.
문제되는 클래스는 다음과 같다.

@Entity
@Table(name = "\"order\"")
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@SuperBuilder
public class OrderEntity extends BaseEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(updatable = false, columnDefinition = "BIGINT UNSIGNED")
    private Long iorder;

    @JoinColumn(name = "iuser")
    @ManyToOne
    private UserEntity userEntity;

    @JoinColumn(name = "ireserve")
    @ManyToOne
    private ReserveEntity reserveEntity;

    @Column(nullable = false, length = 100)
    private String address;

    @Column(name = "address_detail", length = 100)
    private String addressDetail;

    @Column(name = "total_price", nullable = false, columnDefinition = "INT UNSIGNED", length = 10)
    private Integer totalPrice;

    @Column(name = "shipping_price", nullable = false, length = 10, columnDefinition = "INT UNSIGNED")
    @ColumnDefault("3000")
    private Integer shippingPrice;

    @Column(name = "shipping_memo", length = 100)
    private String shippingMemo;

    @Column(name = "del_yn", columnDefinition = "TINYINT not null DEFAULT 1", length = 1)
    private Integer delYn;

    //KAKAO, CARD
    @Column(nullable = false, length = 1)
    @Enumerated(EnumType.STRING)
    private PayType type;

    @Column(columnDefinition = "TINYINT not null DEFAULT 0 CHECK(shipping in (0,1,2,3))", length = 1)
    private Integer shipping;
}

살펴보면 Character에 해당하는 타입이 없다.

그래서 구글링을 하던 도중

다음과 같은 글을 발견했다.

내가 작성한 클래스의 컬럼

//KAKAO, CARD
@Column(nullable = false, length = 1)
@Enumerated(EnumType.STRING)
private PayType type;

구조가 흡사해서 length값을 지웠더니 문제없이 작동했다.
아마 length가 1이라 char타입으로 읽는 것 같다.

참고 사이트 : https://github.com/spring-projects/spring-data-jpa/issues/2821

profile
개발 공부 & 개발하면서 생각나는 것들 기록소

0개의 댓글