Можно ли генерировать классы сущностей JPA из схемы базы данных во время выполнения? - PullRequest
4 голосов
/ 16 мая 2009

IDE, такие как Netbeans, позволяют генерировать классы сущностей через контекст постоянства. Если у вас был доступ к базовому методу генерации (не уверен, является ли он внешним инструментом или частью IDE), не могли бы вы динамически генерировать классы сущностей базы данных во время выполнения? Идея в том, что вы можете подключиться к сущности классы с использованием отражения.

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

Ответы [ 3 ]

2 голосов
/ 16 мая 2009

Это теоретически возможно, но какой в ​​этом смысл? Java имеет статическую типизацию, поэтому вы могли бы только использовать сгенерированные классы с помощью отражения, и у вас не было бы способа придать им поведение, поэтому удалялся весь смысл объектно-реляционного отображения. Загрузка данных в Карты или просто использование наборов записей SQL будет более удобной.

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

1 голос
/ 16 мая 2009

Если вы используете Hibernate, вы можете использовать Hibernate Tools для генерации схемы базы данных. Хотя в первую очередь он предназначен для Eclipse и Ant, теоретически возможно связать его и вызвать его, как и любой другой JAR.

1 голос
/ 16 мая 2009

Вы можете найти на веб-сайте JBoss инструмент для обратного инжиниринга из базы данных в объекты Java.

Исходный код доступен, вы должны копаться в!

https://www.jboss.org/tools/download/stable.html

...