IntelliJ IDEA 10 создает объект (POJO) из модели БД

Как я могу сгенерировать сущность (POJO) из модели базы данных, используя IntelliJ IDEA 10. Я создаю "Источник данных" в IntelliJ, но я понятия не имею, как я могу сгенерировать POJO.

3 ответа

ОБНОВИТЬ:
В IntelliJ 16 эта функция в настоящее время реализована. Шаги, чтобы сделать это:
1. База данных контекстного меню
2. Расширения в сценариях
3. Генерация POJO


Вы можете прочитать больше здесь:
Запрос функции: разрешить "генерировать классы из схемы базы данных" для разработчиков с простым JDBC


Сначала вам нужно сообщить intelliJ, что вы используете Hibernate (я полагаю, что вам это нужно, если вам нужен orm pojo таблицы)

  1. Перейти к "Структуре проекта" (alt+ctrl+shift+s)
  2. В "Настройках проекта" выберите "Модули"
  3. Нажмите + и добавьте фасет Hibernate в свой модуль.

Теперь вы настроили свой аспект конфигурации Hibernate, и вы можете извлечь ваши pojos.

  1. В правой нижней горизонтальной панели вы увидите вкладку "Постоянство" (если вы не можете найти вкладку "Постоянство", вы можете показать ее, выбрав "Вид"> "Окна инструментов"> "Постоянство").
  2. Там вы можете щелкнуть правой кнопкой мыши значок спящего режима, названный как ваш модуль
  3. Перейти к "Создать отображение постоянства"-"по схеме базы данных"
  4. Теперь я думаю, вы можете найти свой путь...
  5. В общих настройках выберите источник данных, который вы хотите использовать, и теперь вы можете видеть все таблицы в вашем объекте источника данных.
  6. Теперь вы можете делать много вещей, добавлять отношения со знаком +, изменять имя и тип свойств 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, вы можете сделать это с помощью

База данных -> таблица -> щелчок правой кнопкой мыши -> Создать сопоставление постоянства

выберите таблицу и путь к пакету ок

Другие вопросы по тегам