Liquibase @ % ; not null range default character

Если у вас в ликвибейс есть конструкция <sql>, то ликви по дефолту ищет все символы «;» и разделяет этот запрос на несколько кусов, поэтому если у вас в <sql> используется динамический запрос, вы должны сказать ликви, чтобы он не разделял запрос по точке с запятой и выполнял запрос как цельный, для этого необходимо проставить флаг splitStatements=»false»

<sql splitStatements="false">
  declare
    new_variable;
  begin
    //много кода с символом ";"
  end;
</sql>

источник: https://www.liquibase.org/documentation/changes/sql.html

java: package javax.ws.rs.core does not exist

Ошибка при сборке

Как лечить: открываем настройки проекта (ctrl + alt + shift + s, для idea), переходим в раздел Libraries, жмем Add, находим в .m2 javax/ws/rs/jsr311-api и добавляем джарку

Idea reimport dependency

Симпотомы проблемы: в сборку подтягивается не та версия зависимости, которую вы ожидаете

Для себя выработал несколько решений, чаще всего что-то да сработает:

Читать далее Idea reimport dependency

MapStruct и Lombok не работают вместе

После того как я в свой проект заинжектил MapStruct в котором уже был Lombok, я словил огромное количество ошибок на все сеттеры и геттеры примерно такого содержания:

cannot find symbol
[ERROR] symbol: method getName()
[ERROR] location: variable request of type ru.ebrains.entity.User

Если у вас такая же проблема, добро пожаловать под кат

Читать далее MapStruct и Lombok не работают вместе

jcmd GC.heap_dump и full GC

Привет хлопцы

Занимаясь анализом утечки памяти (memory leak) в своем приложении у меня в голове сформировалось некоторое количество материала которым я бы хотел поделиться с вами в нескольких статьях. Сегодня речь пойдет про тулзу jcmd которая входит в поставку JDK и находится в каталоге bin

Читать далее jcmd GC.heap_dump и full GC

SQL state [99999]; error code [17004]; Invalid column type: 1111

Дарова хлопцы

Выплюнул мне сегодня веб-сервис следующую срань:

Caused by: java.sql.SQLException: Invalid column type: 1111

В моем случае проблема оказалась в том, что одно из полей SQL-запроса было необязательным, и маппилось на примитив. А т.к. примитивы не могут быть null, а мне приходил именно null, я получал это исключение.

Проблема решилась заменой примитива на ссылочный тип

ORA-00947: not enough values

Типовая ошибка:

### Error updating database.  Cause: java.sql.SQLSyntaxErrorException: ORA-00947: not enough values

Скорее всего у вас в коде есть что-то типа:

insert into table_name values(25217190, 1, null)

И в таблицу было добавлено новое поле, а значит вам надо добавить это поле в сигнатуру инсерта. Т.е. в вашам запросе недостаточно полей, чем должно быть

Schema-validation: wrong column type encountered in column

Привет сталкер

Столкнулся с проблемкой на днях, которая заставила меня изрядно подумать

Есть проект на spring boot, с hibernate, liquibase и другими штуками, которые в рамках этой статьи не важны

Работал проект прекрасно до тех пор, пока не потребовалось обновить версию стартера, который мы подключаем в pom.xml внутри <parent>…</parent>

Сразу после апа версии стартера мое приложение начало выплевывать следующую ошибку: «Schema-validation: wrong column type encountered in column [valid_to] in table [scans]; found [timestamp (Types#TIMESTAMP)], but expecting [date (Types#DATE)]«

Для ленивых, в самом низу статьи есть тезисно выводы и правки, которые пришлось сделать

Читать далее Schema-validation: wrong column type encountered in column