Schema-Validierung: fehlende Tabelle [Spiel]
Denke ich, kann es möglich sein, dupplicate: Schema-Validierung: fehlende Tabelle [hibernate_sequences] aber ich kann ' T es herausfinden.
Also in meinem application.properties
- Datei habe ich diese option: spring.jpa.hibernate.ddl-auto=validate
und ich erhalte diese Fehlermeldung:
Schema-validation: missing table [game]
Warum erhalte ich diese?
Hier ist mein Game
Klasse und User
Klasse:
Spiel:
@Entity
public class Game {
@Id
@Column(name = "GAME_NUMBER")
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private long gameNumber;
private int playerScore;
private int NPCScore;
private Date datetime;
@ManyToOne
@JoinColumn(name="USER_ID")
private User user;
public Game() {}
public Game(int playerScore, int nPCScore, Date datetime) {
super();
this.playerScore = playerScore;
this.NPCScore = nPCScore;
this.datetime = datetime;
}
public User getUser() {
return user;
}
} + getters & setters
Benutzer:
@Entity
public class User {
@Id
@Column(name = "USER_ID")
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private long userId;
private String username;
private String password;
@OneToMany(mappedBy="user",cascade=CascadeType.ALL)
private List<Game> games;
@ElementCollection
private List<Date> startSessions;
public User() {}
public User(String username, String password, List<Game> games, List<Date> startSessions) {
super();
this.username = username;
this.password = password;
this.games = games;
this.startSessions = startSessions;
}
}
InformationsquelleAutor Rares | 2017-06-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
validate
überprüft, ob die Einheiten kompatibel sind gegen das Ziel, zu einem gewissen Grad, es ist nicht narrensicher. Egal, was Datenbank, die Sie versuchen, zu überprüfen, gegen nicht eine Tabelle namensgame
zum speichern der Entitäten.Diese Antwort geht mehr ins detail über das, was
validate
tut.Hibernate - hibernate.hbm2ddl.auto = überprüfen
insbesondere
Ohne zu wissen, Ihre Datenbank/Erwartungen (erwarten Sie, dass es erstellt werden, oder mit Flyway/Liquibase zu erstellen/aktualisieren Sie die Datenbank, etc.) Ich kann nicht Antworten, wenn
validate
ist die richtige für Ihren Anwendungsfall.Könnten Sie versuchen
create-drop
zu erstellen und drop der Tabelle auf Start/Herunterfahren, aber dies ist keine Lösung für jede Produktion die Kontrolle über eine Datenbank.können Sie diese Frage plz? stackoverflow.com/q/44485076/7947794
InformationsquelleAutor Darren Forsythe
Ich habe die gleiche als ich geändert, um Winterschlaf zu halten 5.4.0.Endgültig.
Entweder Ruhezustand plötzlich hat Probleme zu erkennen, die das Standard-schema oder die Treiber nicht wieder das schema korrekt.
Ich war in der Lage, diese zu umgehen, indem Sie entweder indem Sie die schema-definition für die definition der Tabelle.
oder durch das hinzufügen einer Standard-schema in persistence.xml.
InformationsquelleAutor Bevor
Dieser Fehler kann angezeigt werden, während mit spring boot mit flywayDB.
Das Problem könnte durch die falsche Namenskonvention von Skript-Dateien, die verwendet wurden, durch flywayDB.
https://flywaydb.org/documentation/migrations#naming
InformationsquelleAutor Vineeth Bhaskaran