Композитный ключ и spring-data-jdbc - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть база данных, которая использует составные ключи.Можно ли использовать spring-data-jdbc?Я попробовал веху версии 1.1M2, где я сопоставил свою сущность следующим образом:

class History {

   @ID
   @Embedded
   private CompositeHistoryID  id;
}

Затем в своем классе репозитория я добавил

HistoryRepository extends Repository<History,CompositeHistoryID  >{
   History  findByhId(CompositeHistoryID  id)
}

Я проследил SQL, и этоне работал.Встроенная часть работала, но предложение where было неверным.Он использовал один держатель параметров вместо обычной структуры составного ключа, где element1 = subkey1 и element2 = subkey2 и так далее ...

У меня два вопроса.Есть ли способ заставить Composite ID работать?

Второй вопрос, давайте предположим, что я использую пользовательский @Query поверх findByID, будет ли после этого работать метод SAVE, если?Что такое вообще никакого идентификатора, что если я просто выберу случайный столбец и скажу, что вы будете моим идентификатором?

1 Ответ

0 голосов
/ 05 апреля 2019

Нет @Embedded не работает для идентификаторов, пока .Прямо сейчас все операторы SQL принимают простое значение для столбца id.И я не думаю, что для этого есть обходной путь.

...