Существует ли серьезное основание настроить, в спящем режиме с XML, а не с помощью аннотаций?

Скомпилируйте это в своей базе данных и начните использовать логические операторы в ваших запросах.

note: функция get является параметром varchar2, поэтому не забудьте обернуть любые «строки» в ваш оператор. Он вернет 1 для true и 0 для false,

select bool('''abc''<''bfg''') from dual;

CREATE OR REPLACE function bool(p_str in varchar2) return varchar2 
 is
 begin

 execute immediate ' begin if '||P_str||' then
          :v_res :=  1;
       else
          :v_res :=  0;
       end if; end;' using out v_res;

       return v_res;

 exception 
  when others then 
    return '"'||p_str||'" is not a boolean expr.';
 end;
/
17
задан cletus 17 January 2009 в 02:33
поделиться

7 ответов

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

, Если существуют какие-либо возможности в XML, который не может быть представлен в атрибутах (и я верю, существуют некоторые редкие случаи), тогда, у Вас все еще есть опция использовать [RawXml] и записать XML в атрибуте. Таким образом, Вы не можете возможно пропустить функциональность.

могло бы иметь смысл использовать XML, если у Вас есть достаточно программистов в Ваших командах, которые просто предпочитают управлять отдельными файлами или если существует подлинная потребность отредактировать xml отображения на лету. Xml, отображающими файлы, вероятно, легче управлять для очень сложного отображения, и они могут содержать полезную информацию (комментарии к выбирающим стратегиям и т.д.).

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

7
ответ дан 30 November 2019 в 13:54
поделиться

Аннотации являются отличным способом быстро настроить, в спящем режиме. Но одной из основных характеристик ИЛИ картопостроителей нравится, в спящем режиме, то, что Вы сохраняете свою модель предметной области "персистентностью неосведомленный" Ваши объекты, ничего не должны знать о том, где и как они сохраняются. Некоторые могут утверждать что использование повреждений аннотаций это. И в ситуациях, где персистентность является только одной из многих проблем, имеет смысл разделять вещи.

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

6
ответ дан 30 November 2019 в 13:54
поделиться

Не В спящем режиме используют стандартные аннотации EJB3/JPA? Если так, я могу думать о по крайней мере одной причине использовать XML: те аннотации не имеют всех возможностей, в спящем режиме.

Пример: Будьте в спящем режиме может определить "собственный" тип для идентификаторов. Это создаст автоинкрементное поле на MySQL и последовательность на Oracle. Нет никакого способа сделать это с аннотациями JPA, это будет работать в обеих ситуациях.

кроме того, XML является сменным. Аннотации не. Это могло бы иметь значение для Вас, если Вы поставлетесь на несколько платформ базы данных и имеете различную конфигурацию для каждого.

XML впал в немилость с большим количеством разработчиков и по этой причине один, я думаю много аннотаций пользы. Вещь, у Вас есть XML так или иначе (в форме файла persistence.xml и возможно других). Это немного похоже на шесть из один, полдюжины из другого.

5
ответ дан 30 November 2019 в 13:54
поделиться

Нет почти ничего, что Вы не можете сделать в аннотациях, что Вы можете в XML. Я ни о чем не могу даже думать банкомат. Можно попытаться соответствовать JPA, но я нашел, что API JPA вполне ограничен. Однако, это просто означает, что Вы используете нестандартный, в спящем режиме определенные аннотации.

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

Наконец, в то время как конфигурация XML является гибкими шоу обычной практики, что каждый раз, когда мы редактируем xml файлы, мы почти всегда редактируем исходные файлы Java также. Это - просто другой аргумент в пользу того, чтобы подвинуть конфигурацию поближе к объектам, т.е. в аннотации.

1
ответ дан 30 November 2019 в 13:54
поделиться

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

Однако для разнообразия причины я непосредственно не сохраняю свою модель предметной области, а скорее имею аналоги (но несколько отличающийся) "персистентная модель предметной области", которая сохраняется и находится только в сервере, таким образом, это не было большой проблемой.

0
ответ дан 30 November 2019 в 13:54
поделиться

Не хочу повторять что-либо, что было уже сказано, но я использую конфигурацию стиля XML для разделения его от моего кода. Это главным образом сделано к моим персональным предпочтениям и в конце дня это вопрос привычки:) Другая вещь, которую можно сделать с XML, состоит в том, чтобы иметь hbm2java, генерируют код для Вас, и мне действительно нравится это также, но снова он преимущество; вероятно, нет.

, Таким образом, я сказал бы, это - просто вопрос того, что Вы предпочитаете.

0
ответ дан 30 November 2019 в 13:54
поделиться

Я не знаю, включаете ли вы именованные запросы в конфигурацию, но я склонен помещать их в XML файлы, даже если считаю, что это повышает риск ошибок между сущностью и ее запросами. Это позволяет настроить запрос без необходимости перекомпиляции всего приложения".

Использование XML вместо аннотаций также позволяет избежать зависимости от JPA на уровне пользовательского интерфейса, если вы повторно используете сущности от бизнес-уровня до уровня представления, но я не уверен, что этот аргумент уместен.

0
ответ дан 30 November 2019 в 13:54
поделиться
Другие вопросы по тегам:

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