Инструмент для генерации классов из хранимых процедур базы данных - PullRequest
4 голосов
/ 17 июня 2011

У меня есть база данных, к которой мне нужно получить доступ, используя хранимые процедуры.Поэтому для каждого возвращаемого типа хранимой процедуры я хочу создать сущность.

Есть ли какие-нибудь инструменты, которые могут генерировать эти классы сущностей для меня?Я предпочел даже инструмент, который может генерировать код для извлечения набора данных из хранимой процедуры.

Я все по принципу СУХОЙ, поэтому, если я могу сгенерировать это, было бы здорово!

Iменя не интересуют ORM, JPA, Hibernate или что-то еще, потому что я все равно не могу получить доступ к таблицам.

Используемая нами БД - PostgreSQL.

1 Ответ

2 голосов
/ 15 марта 2012

Подумайте об использовании JdbcTemplate, StoredProcedure Spring и связанных с ними классов, чтобы сэкономить время при кодировании вызовов хранимых процедур. Spring имеет хорошую поддержку низкоуровневого JDBC и доступа к вашей базе данных объектно-ориентированным способом.

Вы можете использовать Velocity для генерации классов для предоставления Java-интерфейса вашим хранимым процедурам. Если у вас есть несколько хранимых процедур, возможно, стоит написать шаблоны Velocity.

В рамках генерации вы можете автоматизировать отображение между типами Java, типами JDBC и собственными типами баз данных, которые часто имеют незначительные различия между собой, например, java.util.Date против java.sql.Date по сравнению с собственным типом даты базы данных, или большие различия, например LOB и курсоры.

Если результаты вашей хранимой процедуры необходимо сопоставить со сложными объектами, то есть классами сущностей или доменов, вам, вероятно, придется написать их самостоятельно, но вы можете сгенерировать интерфейс базы данных и автоматизировать сопоставление результатов с вашими классами.

...