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éé.
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.
Vérifier persistence.xml
property name="hibernate.hbm2ddl.auto" value="create"
pas hdm2ddl
Cela a fonctionné dans mon cas.