Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Benötigen Sie Klarheit über hibernate.hbm2ddl.auto=update

Legen Sie hiberate.hbm2ddl.auto=validate fest und ändern Sie die Größe der Spalte in der tatsächlichen Datenbank manuell mit MySQLWorkbench oder einem ähnlichen Tool. Siehe auch hier für eine Erklärung, was die verschiedenen Werte tun. Dies ist der Fall, wenn Sie die Daten in der Datenbank tatsächlich beibehalten möchten. Ich bin mir ziemlich sicher, dass die Verwendung von update wird immer noch die gesamte Tabelle löschen, um die Spaltenlänge zu ersetzen, also würde ich das nicht verwenden. Mit validate bewirkt, dass Hibernate Ihr Datenbankschema anhand Ihrer Anmerkungen validiert, um sicherzustellen, dass Ihre Datenbank korrekt eingerichtet ist. Verwenden Sie niemals etwas anderes als validate für Produktionscode.

BEARBEITEN:Um die Frage tatsächlich zu beantworten, kann kein Hibernate dies tun, ohne die Tabelle zu löschen und neu zu erstellen, wodurch alle darin enthaltenen Daten verloren gehen.