SQL Server генерирует оптимизированный план относительно каждого оператора, который он выполняет. Вы не должны приказывать, чтобы Ваш где пункт извлек ту пользу. Единственный garuntee, который Вы имеете, - то, что это выполнит операторы в порядке так:
SELECT A FROM B WHERE C
SELECT D FROM E WHERE F
выполнит первую строку перед вторым.
модель и постоянство, очевидно, зависят от javax.persistence, но приложение, я думаю, не должно.
Это правда. Но разрешение транзитивных зависимостей не имеет ничего общего с вашей проблемой (и на самом деле javax. постоянство
предоставляется
для модели
и персистентность
, от которой приложение
зависит с компилируемой
областью, так что это опущено, как описано в 3.4.4. Transitive Dependencies ).
На мой взгляд, вы стали жертвой этой ошибки: http://bugs.sun.com/view_bug.do?bug_id=6550655
У меня такие же проблемы с EJB3 сущность, использующая аннотацию наследования:
@Inheritance (strategy = InheritanceType.SINGLE_TABLE)
Класс клиента, использующий эту сущность, не будет компилировать, когда аннотации ejb3 не в пути к классам, но сбой с следующее сообщение:
com.sun.tools.javac.code.Symbol $ CompletionFailure: файл класса для javax.persistence.InheritanceType not найдено
[...]
Обратите внимание, что это частный случай ошибки 6365854 (сообщается, что она исправлена); проблема здесь, кажется, в том, что аннотация использует перечисление в качестве своего значения.
Текущий обходной путь заключается в добавлении недостающего перечисления в CLASSPATH.
В вашем случае «менее худший» способ сделать это - добавить javax.persistence
, поскольку обеспечивает
зависимость для модуля application
. Но это обходной путь к ошибке JVM, приложение
не должно нуждаться в этой зависимости для компиляции.
dependencyManagement [ Раздел 1113863] объявляет, как будут выглядеть зависимости, если вы их используете, а не то, что вы будете их использовать. Таким образом, вам все равно нужно объявить минимальное объявление зависимости, чтобы конфигурация применялась в вашем дочернем проекте. См. Подробности в разделе управления зависимостями книги Maven.
Как правило, требуется минимум groupId и artifactId.
Если вы хотите наследовать конфигурацию, не объявляя ее вообще, вы должны определить ее в родительском разделе dependencies
, а не в dependencyManagement
ммм, потому что предоставленные зависимости не являются транзитивными? это встроенное поведение maven.