IntelliJ IDEA 10 генерує сутність (POJO) з моделі БД


77

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

Відповіді:


132

ОНОВЛЕННЯ:
В IntelliJ 16 ця функція вже реалізована. Для цього виконуються такі дії:
1. Контекстне меню подання бази даних
2. Розширення
сценаріїв 3. Створення POJO


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


Примітка: Наступна інформація стосується версії 15 та старішої:

По-перше, вам потрібно повідомити IntelliJ, що ви використовуєте Hibernate (я думаю, вам це потрібно, якщо вам потрібен ORM POJO таблиці)

  1. Перейдіть до "Структура проекту" ( alt+ ctrl+ shift+ s)
  2. У розділі "Налаштування проекту" виберіть "Модулі"
  3. Натисніть +і додайте фасет Hibernate у ваш модуль.

Тепер ви налаштували фасет конфігурації для сплячого режиму і можете витягувати свої POJO.

  1. У нижній правій нижній горизонтальній панелі ви побачите вкладку "Постійність" (якщо ви не можете знайти вкладку Постійність, ви можете показати її, вибравши Вигляд> Інструмент Windows> Стійкість)
  2. Там ви можете клацнути правою кнопкою миші піктограму сплячого режиму, названу як ваш модуль
  3. Перейдіть до "Створити картографію стійкості" - "за схемою бази даних"
  4. Тепер я здогадуюсь, що ти можеш знайти свій шлях ...
  5. Загалом, налаштування вибирають джерело даних, яке ви хочете використовувати, і тепер ви можете бачити всі таблиці в об’єкті джерела даних
  6. Тепер ви можете робити багато речей, додавати взаємозв'язки зі знаком +, змінювати назву та тип властивостей POJO тощо. Примітка: якщо ви отримуєте помилку, а "ОК" вимкнено, можливо, тому, що тип даних, який IntelliJ знайшов для вашого POJO недійсний. Просто змініть його на той, який вам потрібен, і ви готові до роботи!

4
Також може бути використана грань JPA
nahab

9
Ці грані доступні лише у версії Ultimate
zpontikas

4
Дуже дякую. Все, що я можу додати: якщо ви не можете знайти вкладку або панель стійкості, згадані в кроці 1, ви можете показати їх, вибравши Вигляд> Інструмент Windows> Стійкість.
Андрій Рихальський,

1
я натискаю на нього, і нічого не відбувається
Калпеш Соні,

3
Це після "тепер, я думаю, ти можеш знайти свій шлях", це для мене не вдається. Я вибираю джерело та таблиці. Тоді він хоче "відображення XML" або "анотації JPA". Коли я вибираю відображення XML, я не можу ввести каталог. Коли я вибираю Анотація, вона хоче фабрику сеансів, коли я намагаюся додати фабрику сеансів, вона скаржиться, що немає кореня джерела, але він є. Він також заявляє, що хоче "одиницю стійкості", якою б вона не була. Якщо я виберу окремий XML для сутності, він повідомляє, що він робить АБО, але тоді нічого не генерується.
Florian F

8

Розширення сценаріїв за замовчуванням 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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.