Я чувствую твою боль, мне не хватает проекта Java для всех привилегий, которые есть в Rails.
При этом нет причин использовать прямой SQL. Такой подход просто напрашивается на неприятности. Поскольку ваша схема базы данных изменяется во время разработки, все хрупкие SQL ломаются. Управлять данными проще, если они сопоставлены с моделями JPA, которые абстрагируют взаимодействие SQL с базой данных.
Что вам нужно сделать, это использовать ваши модели JPA для заполнения ваших данных. Создайте компонент, который может выполнять создание необходимых вам моделей, и сохраните их. В моем текущем проекте мы используем Snake YAML для сериализации наших моделей как Yaml. Чтобы заполнить нашу базу данных, мы десериализовали модели yaml в JPA и сохранили.
Если модели изменяются (изменяются типы переменных, удаляются столбцы и т. Д.), Необходимо убедиться, что данные сериализации по-прежнему смогут правильно десериализоваться в модели JPA. Использование удобочитаемого формата Yaml позволяет легко обновлять сериализованные модели.
Чтобы на самом деле запустить ваши начальные данные, загрузите вашу систему так, как можете. Как сказал @GeoorgeMcDowd, вы можете использовать сервлет. Я лично предпочитаю создавать инструмент командной строки, создавая Uberjar с Class.main
. Затем вам просто нужно создать скрипт для настройки вашего classpath и вызвать Class.main
для запуска затравки.
Лично я люблю Maven как метаданные проекта, но считаю его сложным инструментом сборки. Следующее может быть использовано для исполнения Java-класса:
mvn exec:java -Dexec.mainClass="com.package.Main"