@JoinFormula в спящем режиме - PullRequest
1 голос
/ 16 марта 2019

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

@JoinFormula( "REGEXP_REPLACE(phoneNumber, '\\+(\\d+)-.*', '\\1')::int" )

Источник, который я использую: https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#embeddables

Я не знаю, где находится зависимость между Id страны и phoneNumber. Привет

1 Ответ

2 голосов
/ 16 марта 2019

Чтение немного позже этого фрагмента, вы найдете

Ассоциация country в сущности User отображается с помощью идентификатора страны, предоставленного свойством phoneNumber.

И

Таким образом, аннотация @JoinFormula используется для определения пользовательского объединения ассоциации между родительско-дочерней ассоциацией.


По существу, JOIN между User и Country получается из этого расчетного значения .

Например, User счисло

+40-123-4567

имеет значение JOIN с Country с идентификатором

40

, поскольку функция REGEXP_REPLACE может экстраполировать это 40 изчисло.

::int является типом приведения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...