Почему люди продолжают использовать xml отображающиеся файлы вместо аннотаций? [закрытый]

Я предпочитаю, чтобы Consolas также, и очевидно cleartype помог при использовании других шрифтов.

37
задан Bozho 7 December 2009 в 20:25
поделиться

11 ответов

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

51
ответ дан 27 November 2019 в 04:17
поделиться

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

1
ответ дан 27 November 2019 в 04:17
поделиться

Я работал над проектом, в котором база данных менялась очень часто, и нам приходилось повторно создавать файлы java и файлы конфигурации каждый раз, когда это происходит. На самом деле мы не используем все взаимосвязи и конфигурации, созданные инструментом гибернации. Поэтому в основном мы используем инструмент, а затем модифицируем / настраиваем их.

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

1
ответ дан 27 November 2019 в 04:17
поделиться

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

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

3
ответ дан 27 November 2019 в 04:17
поделиться

Итак, если вы хотите развернуть свой класс в нескольких хранилищах данных. И вы хотите аннотировать определения столбцов, не так ли? Разные хранилища данных имеют разные соглашения и т. Д., И использование XML - единственное разумное место в этой ситуации, имея возможность иметь одно для MySQL, другое для Derby и одно для Oracle или чего-то еще. Вы по-прежнему можете добавить базовые аннотации постоянства / отношения, если хотите, но в этом случае специфичные для схемы материалы перейдут в XML.

- Энди (DataNucleus)

2
ответ дан 27 November 2019 в 04:17
поделиться

У меня есть новый: http://www.summerofnhibernate.com/

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

1
ответ дан 27 November 2019 в 04:17
поделиться

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

3
ответ дан 27 November 2019 в 04:17
поделиться

люди не знают, что аннотации полнофункциональная замена xml отображение.

Ах, но это не так. Три случая в моей голове (их, вероятно, больше), вы не можете (хорошо) справиться с аннотациями:

  1. Используйте формулу как часть ключа ассоциации (по общему признанию, довольно эзотерическую).
  2. Join- via-subslect - @Loader не подходит для замены. Не тоже распространенный, но весьма полезный. Envers предлагает жизнеспособный альтернативный подход.
  3. Потеря порядка столбцов при генерации схемы. Это абсолютный убийца. Я понимаю, почему это делается именно так, но меня это до сих пор бесконечно раздражает.

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

9
ответ дан 27 November 2019 в 04:17
поделиться
  • Отсутствие обзора того, что было сопоставлено. Вам нужно покопаться в исходном коде.
20
ответ дан 27 November 2019 в 04:17
поделиться

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

4
ответ дан 27 November 2019 в 04:17
поделиться

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

Однако привязки, будь то к хранилищу постоянства, XML или чему-либо еще, являются внешними по отношению к модели. Они меняются в зависимости от контекста, в котором используется модель. Включение их в модель так же плохо, как использование встроенных определений стилей в HTML. Я использую документы с внешней привязкой (обычно - хотя и не обязательно - XML) по тем же причинам, по которым я ссылаюсь на внешний CSS.

3
ответ дан 27 November 2019 в 04:17
поделиться
Другие вопросы по тегам:

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