Я ищу некоторую существующую библиотеку в java, которая способна анализировать SQL DDL
операторы, которые способны это сделать:
Скажем, у меня есть таблица следующим образом:
create table emp
(
name varchar(20),
empid int,
date_of_joining date
);
Затем я хочу класс со следующим конструктором:
Emp(String name, int empid, Date date_of_joining)
Теперь, если кто-то изменит схему таблицы следующим образом:
alter table emp
add salary double;
Emp(String name, int empid, Date date_of_joining, double salary)
alter table emp
modify empid varchar(6);
Emp(String name, String empid, Date date_of_joining, double salary)
Есть ли что-то уже существующее, которое что-то делает?
Используйте Hibernate Tools Reverse Engineering.
Он не анализирует необработанные SQL файлы, а может подключаться к базе данных SQL и генерировать Java POJO из вашей схемы.
http://docs.jboss.org/tools/4.1.0.Final/en/hibernatetools/html_single/index.html#refeng_codegen
Он не будет создавать параметризованные конструкторы для вас из коробки, но вы можете настроить его шаблоны или использовать Lombok:
http://projectlombok.org/features/Constructor.html
Честно говоря, я пошел бы в другую сторону. Обновите схему базы данных из Java POJO. Зачем? Наследование базы данных. Легко объявить использование JPA, но нет общего шаблона для декларативного наследования таблиц в SQL.