web-dev-qa-db-fra.com

Séquence "HIBERNATE_SEQUENCE" non trouvée; Instruction SQL

Dans mon application de printemps MVC, j'ai l'objet suivant. J'essaie de créer un visuel de données en utilisant devtool dans mon application. 

@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;
}

Ensuite, j'ai utilisé le jpa pour créer l'entité:

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

}

Le problème est que lorsque je charge mon application, je fais face à 2 erreurs:

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

Puis quand j'ouvre le 

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

Je ne peux pas voir le tableau ... Il semble que dans le processus de démarrage, le tableau ne soit pas créé. 

8
Kamyar Parastesh

Mettez à jour votre code comme ci-dessous:

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

Comme vous n'avez pas spécifié de séquence nom de table , hibernate recherche une table de séquence nommée hibernate_sequence et l'utilise comme default .

Pour Oracle/Postgres, les champs d’incrémentation utilisés sont des tables de séquence.
En MySql, il existe des champs d’incrémentation qui s’incrémentent automatiquement. 

28
Rohit Gaikwad

Vérifier persistence.xml

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

pas hdm2ddl

Cela a fonctionné dans mon cas.

3
David