Pracowałem nad projektem aplikacji Spring Boot i zauważyłem, że czasami występuje błąd przekroczenia limitu czasu połączenia z moją bazą danych na innym serwerze (SQL Server). Dzieje się tak szczególnie, gdy próbuję wykonać migrację skryptu, FlyWay
ale działa po kilku próbach.
Potem zauważyłem, że nie wskazałem spring.jpa.hibernate.ddl-auto
w moim pliku właściwości. Zrobiłem kilka badań i stwierdziłem, że zaleca się dodanie
spring.jpa.hibernate.ddl-auto= create-drop
w rozwoju. I zmień to na: spring.jpa.hibernate.ddl-auto= none
w produkcji.
Ale tak naprawdę nie rozumiałem, jak to naprawdę działa i jak hibernacja generuje schemat bazy danych przy użyciu create-drop
lub none
wartości. Czy możesz wyjaśnić technicznie, jak to naprawdę działa i jakie są zalecenia dotyczące używania tej właściwości w programowaniu i na serwerze produkcyjnym. Dziękuję Ci
none
ale możesz chcieć, aby tabele Hibernate Search i Envers były generowane przy użyciu, update
ponieważ są wewnętrznie zarządzane przez te projekty i nie chcesz zarządzać nimi ręcznie. Obecnie kontrolujemy to globalnie dla wszystkich tabel, niezależnie od ich pochodzenia / źródła. To dalszy powód do korzystania z opcji specyficznych dla dostawcy, jeśli chcesz ich użyć.