[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.코드를 다음과 같이 업데이트하십시오.
코드를 다음과 같이 업데이트하십시오.
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;
시퀀스 테이블 이름을 지정하지 않았으므로, hibernate는 hibernate_sequence라는 이름의 시퀀스 테이블을 찾아 디폴트로 사용한다.
Oracle / Postgres의 경우, 사용되는 증가 필드는 시퀀스 테이블입니다. MySql에는 자동으로 증가하는 증가 필드가 있습니다.
-
==============================
2.persistence.xml 확인
persistence.xml 확인
property name="hibernate.hbm2ddl.auto" value="create"
hdm2ddl 아님
내 경우 엔 효과가 있었어.
from https://stackoverflow.com/questions/39807483/sequence-hibernate-sequence-not-found-sql-statement by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring Security와 Struts2를 통합하는 방법 (0) | 2019.03.16 |
---|---|
[SPRING] JSP 및 정적 리소스를 포함한 스프링 부팅 응용 프로그램 패키지 (0) | 2019.03.16 |
[SPRING] XSS를 방지하기 위해 c : out을 사용하는 대신 (0) | 2019.03.16 |
[SPRING] 봄 : 누락 된 JPA 메타 모델 (0) | 2019.03.16 |
[SPRING] RedirectionAttributes를 통해 BindingResult 전달하기 (0) | 2019.03.16 |