Ich verwendet SpringBoot ein Web-App zu entwickeln, und das ist meine application.properties
Datei der Anmeldeinformationen angeben, auf die Datenbank zuzugreifen:jdbc4.MySQLSyntaxErrorException: Tabelle existiert nicht in der Datenbank
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/Salamander
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
aber wenn ich versuchen, den SpringBoot App laufen, es mir diesen Fehler gibt:
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'salamander.user' doesn't exist
at sun.reflect.GeneratedConstructorAccessor72.newInstance(Unknown Source) ~[na:na]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_40]
at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[na:1.8.0_40]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) ~[mysql-connector-java-5.1.38.jar:5.1.38]
at com.mysql.jdbc.Util.getInstance(Util.java:387) ~[mysql-connector-java-5.1.38.jar:5.1.38]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:939) ~[mysql-connector-java-5.1.38.jar:5.1.38]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878) ~[mysql-connector-java-5.1.38.jar:5.1.38]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814) ~[mysql-connector-java-5.1.38.jar:5.1.38]
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478) ~[mysql-connector-java-5.1.38.jar:5.1.38]
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625) ~[mysql-connector-java-5.1.38.jar:5.1.38]
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551) ~[mysql-connector-java-5.1.38.jar:5.1.38]
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861) ~[mysql-connector-java-5.1.38.jar:5.1.38]
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1962) ~[mysql-connector-java-5.1.38.jar:5.1.38]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:82) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
... 69 common frames omitted
natürlich habe ich ein Unternehmen Benutzer aufgerufen, aber die Datenbank ist leer. Aber
sollte sagen, zu überwintern, um die Tabellen wieder in der db zu erstellen, richtig? Also, was ist das Problem?
Wenn ich das gleiche, aber mit einer entfernten Datenbank, funktioniert es, auch wenn die Remote-DB leer ist.
tat u ur prblm zu beheben verwalten? – FuSsA
@FuSsA Ich denke, das Problem war diese Anweisung 'spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQLInnoDBDialect', die ich entfernte und es zu arbeiten begann ... – nbro
Es sollte dem Dialekt entsprechen, den Sie erwarten verwendet werden, zum Beispiel org.hibernate.dialect.MySQL5Dialect hat perfekt für mich gearbeitet. Stellen Sie außerdem sicher, dass Sie keine der veralteten Dialektklassen hier verwenden. – ITisha