краткий обзор ситуации.
У меня есть база данных Postgres с полем «JSONB», и я подключил ее к своему приложению Spring, в котором я использую Hibernate в качестве ORM. Я определил свой пользовательский тип JSON и присвоил этот тип соответствующему столбцу Postgres:
@Column(name = "note", columnDefinition = "jsonb")
@Type(type = "JsonNoteType")
private JsonNote jsonNote;
Все здесь работает нормально, проблема возникает, потому что я также хочу иметь вторую тестовую среду, в которой я загружаю данные в базу данных H2 в памяти.
Поскольку H2 не поддерживает тип JSONB, я должен сказать ему, чтобы он воспринимался как «другой» объект, поэтому columnDefinition изменилось:
@Column(name = "note", columnDefinition = "other")
@Type(type = "JsonNoteType")
private JsonNote jsonNote;
На данный момент я менял это поле вручную в зависимости от тестов, которые я хотел запустить.
Как я могу настроить свое приложение для изменения значения столбца аннотацииDefinition?
Я не могу загрузить значение из application.properties из-за «времени», в которое оцениваются переменные, поэтому я больше думал о настройке Run Configuration, но все еще не знаю как. Любое предложение будет полезно, спасибо