복붙노트

[SPRING] 시퀀스 "HIBERNATE_SEQUENCE"을 (를) 찾을 수 없습니다. SQL 문

SPRING

시퀀스 "HIBERNATE_SEQUENCE"을 (를) 찾을 수 없습니다. SQL 문

내 봄 mvc 응용 프로그램에서 다음 개체가 있습니다. 내 응용 프로그램에서 devtool을 사용하여 데이터를 시각화하려고합니다.

@Entity
@Data
public class ConsultationRequest {
    @Id
    @GeneratedValue
    private Long id;

    private String name;

    private String email;

    private String purpose;

    private String programme;

    private int year;

    private String language;

    private String comments;
    @Enumerated(EnumType.STRING)
    private ConsultationStatus status;
}

그런 다음 엔티티를 만들기 위해 jpa를 사용했습니다.

@Repository
public interface ConsultationRequestRepository extends JpaRepository<ConsultationRequest, Long> {

}

문제는 응용 프로그램을로드 할 때 오류가 2 번 발생합니다.

 Unsuccessful: drop sequence hibernate_sequence
[36morg.hibernate.tool.hbm2ddl.SchemaExport  Sequence "HIBERNATE_SEQUENCE" not found; SQL statement:

그럼 내가 열 때

http://localhost:8080/h2-console/

나는 테이블을 볼 수 없다. 부팅 과정에서 테이블이 만들어지지 않은 것 같습니다.

해결법

  1. ==============================

    1.코드를 다음과 같이 업데이트하십시오.

    코드를 다음과 같이 업데이트하십시오.

     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Long id;
    

    시퀀스 테이블 이름을 지정하지 않았으므로, hibernate는 hibernate_sequence라는 이름의 시퀀스 테이블을 찾아 디폴트로 사용한다.

    Oracle / Postgres의 경우, 사용되는 증가 필드는 시퀀스 테이블입니다. MySql에는 자동으로 증가하는 증가 필드가 있습니다.

  2. ==============================

    2.persistence.xml 확인

    persistence.xml 확인

    property name="hibernate.hbm2ddl.auto" value="create"
    

    hdm2ddl 아님

    내 경우 엔 효과가 있었어.

  3. from https://stackoverflow.com/questions/39807483/sequence-hibernate-sequence-not-found-sql-statement by cc-by-sa and MIT license