Чтение приблизительно стирание типа должно помочь Вам понять это немного лучше.
Во времени выполнения, параметры типа для универсального класса , стерся . Значение, как cletus сказало, дженерики в Java являются в основном синтаксическим сахаром - они - только функция времени компиляции.
, Так как Spring, инстанцируют объектов во времени выполнения, это на самом деле свободно инстанцировать Dao
из любого типа - и на самом деле, нет ничего мешающего ему создать Dao
и передать в Student
типы в некоторых методах и Teacher
типы в другом.
Так в основном ответ, Spring понятия не имеет, что эти Dao
тип предназначен, чтобы быть параметризованным и ничего не может сделать с ним.
К сожалению, это ошибка (или отсутствующая функция) в "git merge -s subtree "code. Он фактически угадывает поддеревья, которые вы хотите объединить. Обычно это волшебным образом оказывается правильным, но если ваше поддерево содержит много изменений (или изначально было пустым, или что-то в этом роде), тогда это может привести к серьезному сбою.
Лучший способ обойти это:
Объедините файлы, как вы делали выше.
Вручную переместите все полученные файлы туда, где они должны исчезли.
git commit -a --amend
, чтобы исправить фиксацию слияния.
Будущие слияния, вероятно, будут работать нормально, если только этот каталог не будет постоянно находиться в невероятном количестве изменений.
Экспериментальный Команда " git subtree " имеет параметр - prefix
, который должен позволить вам переопределить это, но, к сожалению, это не так.t работает в данный момент (так как это требует работы с функциями "git merge -s subtree", а времени на это не было).
В любом случае, это должна быть редкая ситуация, и обходной путь не потребуется даже для будущих слияний того же проекта.