JPA генерация кода Java

Хорошей идеей является использование «объектно-реляционного картографа», подобного Idiorm :

$user = ORM::for_table('user')
->where_equal('username', 'j4mie')
->find_one();

$user->first_name = 'Jamie';
$user->save();

$tweets = ORM::for_table('tweet')
    ->select('tweet.*')
    ->join('user', array(
        'user.id', '=', 'tweet.user_id'
    ))
    ->where_equal('user.username', 'j4mie')
    ->find_many();

foreach ($tweets as $tweet) {
    echo $tweet->text;
}

Он не только избавляет вас от SQL-инъекций, но и от синтаксических ошибок! Также поддерживает коллекции моделей с цепочкой методов для фильтрации или применения действий к нескольким результатам сразу и нескольких подключений.

29
задан 3 revs, 3 users 64% 24 May 2012 в 08:41
поделиться

4 ответа

Я также испытываю затруднения при понимании вопроса, но я попытаюсь перефразировать:

  • Вы имеете много данных в DB и хотите получить доступ к нему через JPA
  • , который Вы не хотите вручную писать классам для доступа к другому DBS/таблицам
  • В настоящее время, все/больше всего образцовые классы сгенерированы из Eclipse
  • , Эти модели имеют аннотации JPA
  • , образцовые классы (или аннотации) не согласно корпоративным стандартам

при высказывании "JPA генерация кода Java", я понимаю генерацию JPA аннотируемые образцовые классы от предоставленного соединения с БД. Большинство платформ часто называет это инженерным анализом.

Теперь у Вас есть два вопроса:

  1. то, Каким генераторам кода можно рекомендовать генерировать JPA, аннотировало классы?
  2. это возможный настроить вывод этих платформ, и в который путь?

Для ответа на первый вопрос:

, мне действительно нравится генерация кода Netbeans, особенно если Вы показываете результаты кому-то не знакомому с JPA.

На уровне настройки я могу только обменяться опытом, с которым я имел, в спящем режиме Инструменты. Специально для восстанавливаемых результатов попытайтесь использовать основанные на муравье задачи . Можно легко добавить некоторые цели к сборке, и генерация кода может быть сделана на двух уровнях:

С шаблонами, необходимо смочь покрыть большинство корпоративных стандартов. Изучите pojo каталог пакета быть-в-спящем-режиме-инструментов. Самый легкий способ настроить генерацию кода состоит в том, чтобы скопировать и адаптировать шаблоны и сделать, чтобы они поместили, прежде чем быть-в-спящем-режиме-tools.jar в задаче Ant раньше создавало pojos.

Как уже говорилось в другом комментарии, могло бы быть трудно изменить сгенерированный код впоследствии. Я надеюсь, что следующие советы могут помочь Вам:

  • Попытка разделить сгенерированные и настроенные исходные файлы в различных папках.
  • Думают об использовании @MappedSuperclass для классов, которые можно хотеть адаптировать на ручном шаге.
23
ответ дан Kariem 28 November 2019 в 02:03
поделиться

Хорошо, в основном у Вас есть вещи неправильный путь arond: JPA is the generation tool.

я говорю это, потому что единственной вещью, от которой Вы могли генерировать объекты JPA, является SQL, и смысл JPA должен сделать вещи наоборот. Вы определяете свою объектную модель сначала и, от которого, можно генерировать таблицы и запросы.

, Например, я видел, что использование проектов В спящем режиме для определения их объектов, и затем у них есть сценарий сборки муравья, который создает базу данных из Быть в спящем режиме модели объекта.

определения объекта JPA - особенно сделанный с аннотациями - не точно обременительны. Они действительно - Ваш наилучший вариант как первое, что нужно сделать вместо того, чтобы быть продуктом чего-то еще.

Кроме того, другой инструмент не поможет Вам записать именованные запросы, определить корректные каскадные опции на отношениях, и т.д. И если бы Вы генерировали код, как Вы обработали бы изменение его впоследствии?

Это - просто не правильный способ пойти.

-5
ответ дан cletus 28 November 2019 в 02:03
поделиться

проверить JPM2java , это генератор кода для JPA. Единственная загвоздка в том, что он не генерирует код JPA из файлов или таблиц SQL, вам понадобится файл orm.xml. Если вам нужен инструмент для генерации кода непосредственно из таблиц, вы можете попробовать Netbeans. У него есть опции для генерации кода JPA непосредственно из таблиц

0
ответ дан 28 November 2019 в 02:03
поделиться

Просто используйте parseFloat () :

var c = parseFloat(a) + parseFloat(b);
-121--2875855-

Дополнительную информацию, а не ответ. Я только что запустил эту программу VB6 scratch, чтобы подтвердить, можно ли передать Nothing ByVal . Это может быть.

Private Sub Form_Load()
  Call TestSub(Nothing)
End Sub
Private Sub TestSub(ByVal vnt As Variant)
  Debug.Print VarType(Nothing)
  Debug.Print VarType(vnt)
  If vnt Is Nothing Then Debug.Print "vnt Is Nothing"
  If IsEmpty(vnt) Then Debug.Print "vnt Is Empty"
End Sub

Я получил следующие выходные данные. Следует отметить, что 9 является vbObject и указывает на вариант со ссылкой на объект.

 9 
 9 
vnt Is Nothing

Я еще не проверил, как я перемещаю SunStub в другой компонент, но я думаю, что это все равно сработает. Поэтому я думаю, что сортировка .NET в COM может быть лучше.

-121--2616301-

Похоже, что Project lombok позволяет создавать базовые именованные запросы, это другой подход, использующий аннотации и генерацию кода во время компиляции.

См.:

Парень над спящим форумом, похоже, использует традиционный подход к генерации кода с помощью Hibernate Tools: https://forum.hibernate.org/viewtopic.php?f=9&t=962223&p=2315766&hilit=named+queries+generate#p2315766

Я согласен с cletus в отношении того, что вы не можете генерировать все именованные запросы, но я полагаю, что мы можем себе представить генерацию основных именованных запросов, таких как поиск на основе одного или нескольких полей объекта.

1
ответ дан 28 November 2019 в 02:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: