Создание объектов Java из операторов SQL DDL

1

Я ищу некоторую существующую библиотеку в 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)

Есть ли что-то уже существующее, которое что-то делает?

  • 1
    Это библиотеки ORM, такие как Hibernate, TopLink и DataNucleus.
  • 0
    что он сказал. Ява статически типизирована.
Показать ещё 2 комментария
Теги:
parsing
sybase

1 ответ

1
Лучший ответ

Используйте 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.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню