IntelliJ IDEA 10 создает объект (POJO) из модели БД
Как я могу сгенерировать сущность (POJO) из модели базы данных, используя IntelliJ IDEA 10. Я создаю "Источник данных" в IntelliJ, но я понятия не имею, как я могу сгенерировать POJO.
3 ответа
ОБНОВИТЬ:
В IntelliJ 16 эта функция в настоящее время реализована. Шаги, чтобы сделать это:
1. База данных контекстного меню
2. Расширения в сценариях
3. Генерация POJO
Вы можете прочитать больше здесь:
Запрос функции: разрешить "генерировать классы из схемы базы данных" для разработчиков с простым JDBC
Сначала вам нужно сообщить intelliJ, что вы используете Hibernate (я полагаю, что вам это нужно, если вам нужен orm pojo таблицы)
- Перейти к "Структуре проекта" (alt+ctrl+shift+s)
- В "Настройках проекта" выберите "Модули"
- Нажмите + и добавьте фасет Hibernate в свой модуль.
Теперь вы настроили свой аспект конфигурации Hibernate, и вы можете извлечь ваши pojos.
- В правой нижней горизонтальной панели вы увидите вкладку "Постоянство" (если вы не можете найти вкладку "Постоянство", вы можете показать ее, выбрав "Вид"> "Окна инструментов"> "Постоянство").
- Там вы можете щелкнуть правой кнопкой мыши значок спящего режима, названный как ваш модуль
- Перейти к "Создать отображение постоянства"-"по схеме базы данных"
- Теперь я думаю, вы можете найти свой путь...
- В общих настройках выберите источник данных, который вы хотите использовать, и теперь вы можете видеть все таблицы в вашем объекте источника данных.
- Теперь вы можете делать много вещей, добавлять отношения со знаком +, изменять имя и тип свойств pojo и т. Д. Примечание: если вы получаете сообщение об ошибке и "OK" отключено, то это, вероятно, потому что тип данных, который intelliJ нашел для вашего Пойо является недействительным. Просто замените его на тот, который вам нужен, и вы готовы к работе!
Скриптовые расширения по умолчанию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
Если у вас установлены Intellij Idea и Jpa Buddy, вы можете сделать это с помощью
База данных -> таблица -> щелчок правой кнопкой мыши -> Создать сопоставление постоянства
выберите таблицу и путь к пакету ок