Size: a a a

Spring Framework and more

2019 June 18

EP

EnterpriseJira PluginDev in Spring Framework and more
господа, а чем заменить TestConfiguration от spring boot если у тебя самого бута нет ?
источник

DY

Dmitriy Yakovlev in Spring Framework and more
Alexander Yakovlev
Ну т.е. я правильно понимаю, что это не десерилизация @JsonIdentityReference  @JsonIdentityInfo, а только стерилизация
Про это не скажу, но я погуглил за тебя https://stackoverflow.com/a/38445604
источник
2019 June 19

I

Ivan in Spring Framework and more
Товарищи, кто нибудь переезжал с первого на второй спринг бут (и, соответственно, с 4 на 5 хибернейт)? Почему то перестало работать создание таблиц с помощью ddl-auto: create-drop для H2 embedded.
Сами entity классы находит, репозитории для них создаёт, даже ddl скрипт создания на диск пишет, но падает с ошибкой "table does not exists"
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Ivan
Товарищи, кто нибудь переезжал с первого на второй спринг бут (и, соответственно, с 4 на 5 хибернейт)? Почему то перестало работать создание таблиц с помощью ddl-auto: create-drop для H2 embedded.
Сами entity классы находит, репозитории для них создаёт, даже ddl скрипт создания на диск пишет, но падает с ошибкой "table does not exists"
Переезжали, ddl-auto продолжает работать.

Попробуйте поискать тут по слову hibernate, может найдет ваш случай https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Migration-Guide

Например, они поменяли дефолтное значение для этого свойства. Вдруг вы рассчитываете на дефолт и сами свойству значение на задаете)
источник

I

Ivan in Spring Framework and more
Ruslan Stelmachenko
Переезжали, ddl-auto продолжает работать.

Попробуйте поискать тут по слову hibernate, может найдет ваш случай https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Migration-Guide

Например, они поменяли дефолтное значение для этого свойства. Вдруг вы рассчитываете на дефолт и сами свойству значение на задаете)
Это я уже прочёл, к сожалению, не нашел ничего рабочего :(
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Ivan
Это я уже прочёл, к сожалению, не нашел ничего рабочего :(
Странно. spring.jpa.hibernate.ddl-auto=create-drop работает. Я бы стал дебаггером в org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties#determineHibernateProperties и посмотрел, что там наопределялось. Может не тот конфиг подтягивается или еще что.. Или может быть у вас хибернейт инициализируется каким-то ручным образом, что спринг-бут вообще не участвует.
источник

I

Ivan in Spring Framework and more
Ruslan Stelmachenko
Странно. spring.jpa.hibernate.ddl-auto=create-drop работает. Я бы стал дебаггером в org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties#determineHibernateProperties и посмотрел, что там наопределялось. Может не тот конфиг подтягивается или еще что.. Или может быть у вас хибернейт инициализируется каким-то ручным образом, что спринг-бут вообще не участвует.
Сейчас попробую, спасибо
источник

I

Ivan in Spring Framework and more
Ruslan Stelmachenko
Странно. spring.jpa.hibernate.ddl-auto=create-drop работает. Я бы стал дебаггером в org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties#determineHibernateProperties и посмотрел, что там наопределялось. Может не тот конфиг подтягивается или еще что.. Или может быть у вас хибернейт инициализируется каким-то ручным образом, что спринг-бут вообще не участвует.
Даже такого класса и метода нет :)
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Ivan
Даже такого класса и метода нет :)
а какая версия бута? у меня 2.1.3
источник

I

Ivan in Spring Framework and more
Ruslan Stelmachenko
а какая версия бута? у меня 2.1.3
2.0.3
источник

RS

Ruslan Stelmachenko in Spring Framework and more
источник

I

Ivan in Spring Framework and more
Нашел, как починить
источник

I

Ivan in Spring Framework and more
Среди прочего у меня в пропертях прописано
javax.persistence.schema-generation.scripts:
         action: create
         create-target: create.sql
источник

I

Ivan in Spring Framework and more
Почему-то если убрать эти строчки - начинает работать create-drop
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Похоже, что хибернейт читает настройку ddl-auto только в том случае, если

      // if no JPA settings were specified, look at the legacy HBM2DDL_AUTO setting...
     if ( databaseAction == Action.NONE && scriptAction == Action.NONE ) {
       final Action hbm2ddlAutoAction = Action.interpretHbm2ddlSetting( configurationValues.get( HBM2DDL_AUTO ) );
       if ( hbm2ddlAutoAction != Action.NONE ) {
         databaseAction = hbm2ddlAutoAction;
       }
     }
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Ivan
Среди прочего у меня в пропертях прописано
javax.persistence.schema-generation.scripts:
         action: create
         create-target: create.sql
Попробуйте вернуть эти настройки, но добавить:

javax.persistence.schema-generation.database.action=drop-and-create

Похоже, что это замена легаси-опции.
источник

L

Loljeene in Spring Framework and more
Ivan
Почему-то если убрать эти строчки - начинает работать create-drop
А как оно должно вместе работать?
источник

I

Ivan in Spring Framework and more
Loljeene
А как оно должно вместе работать?
Раньше оно работало и мне еще генерило файлик с DDL, который потом я использовал для создания БД на проде
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Ruslan Stelmachenko
Похоже, что хибернейт читает настройку ddl-auto только в том случае, если

      // if no JPA settings were specified, look at the legacy HBM2DDL_AUTO setting...
     if ( databaseAction == Action.NONE && scriptAction == Action.NONE ) {
       final Action hbm2ddlAutoAction = Action.interpretHbm2ddlSetting( configurationValues.get( HBM2DDL_AUTO ) );
       if ( hbm2ddlAutoAction != Action.NONE ) {
         databaseAction = hbm2ddlAutoAction;
       }
     }
И кстати, это похоже на баг в хибернейте. Имхо, тут не должно быть && scriptAction == Action.NONE, т.к. нет смысла проверять экшн создания скриптов, чтобы определить, нужно ли использовать легаси настройку создания таблиц.
источник

I

Ivan in Spring Framework and more
Ruslan Stelmachenko
Попробуйте вернуть эти настройки, но добавить:

javax.persistence.schema-generation.database.action=drop-and-create

Похоже, что это замена легаси-опции.
Не, не работает
источник