Как я могу создать объект (POJO) из модели базы данных с помощью IntelliJ IDEA 10. Я создаю «Источник данных» в IntelliJ, но понятия не имею, как я могу создать POJO.
IntelliJ IDEA 10 генерирует объект (POJO) из модели БД
Ответы (2)
ОБНОВЛЕНИЕ:
В IntelliJ 16 эта функция теперь реализована. Шаги для этого:
- Контекстное меню просмотра База данных
- Скриптовые расширения
- Создание POJO
Вы можете прочитать больше здесь:
Запрос функции: разрешить генерировать классы из схемы базы данных для разработчиков простого JDBC.
Примечание. Следующая информация относится к версии 15 и более ранним:
Во-первых, вам нужно сообщить IntelliJ, что вы используете Hibernate (я думаю, вы, если вам нужна таблица orm POJO)
- Перейти к структуре проекта (alt+ctrl+shift+s)
- В настройках проекта выберите Модули
- Нажмите + и добавьте фасет Hibernate в свой модуль.
Теперь, когда вы настроили аспект конфигурации гибернации, вы можете извлечь свои POJO.
- На нижней правой горизонтальной панели вы увидите вкладку «Постоянство» (если вы не можете найти вкладку «Постоянство», вы можете отобразить ее, выбрав «Вид» > «Инструментальные окна» > «Постоянство»).
- Там вы можете щелкнуть правой кнопкой мыши значок гибернации с именем вашего модуля.
- Перейти к созданию сопоставления сохраняемости по схеме базы данных
- Теперь я думаю, вы можете найти свой путь ...
- В общем, настройки выбирают источник данных, который вы хотите использовать, и теперь вы можете видеть все таблицы в вашем объекте источника данных.
- Теперь вы можете делать много вещей, добавлять отношения со знаком +, изменять имя и тип свойств POJO и т. д. Примечание: если вы получаете сообщение об ошибке, а кнопка «ОК» отключена, возможно, это связано с тем, что тип данных, который IntelliJ нашел для вашего POJO, инвалид. Просто измените его на тот, который вам нужен, и вы готовы к работе!
Используемые по умолчанию расширения сценариев Generate POJOs.groovy
не очень хороши при работе с таблицами с подчеркивание (что очень распространено).
Поэтому я делаю некоторые модификации.
Основной код
def calcFields(DasObject table) {
DasUtil.getColumns(table).reduce([]) { fields, col ->
def spec = Case.LOWER.apply(col.dataType.specification)
def typeStr = typeMapping.find { p, t -> p.matcher(spec).find() }.value
fields += [[
name : javaName(col.name, false),
type : typeStr,
annos: """
/**
* $col.comment
*/"""]]
}
}
static String javaName(String str, boolean capitalize) {
def s = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, str);
capitalize || s.length() == 1 ? s : Case.LOWER.apply(s[0]) + s[1..-1]
}
Вы можете найти всю суть здесь https://gist.github.com/aristotll/ad799a7462e8b705b26103944cca24a6