Если я правильно понимаю, у вас уже есть контактная сущность с несколькими полями телефонного номера:
- CellPhone
- workPhone
- HomePhone
И вы хотели бы найти контакт по номеру телефона. Если это так, вам не нужна дополнительная таблица для этого:
select c from Contact c
where c.cellPhone = :phoneNumber
or c.workPhone = :phoneNumber
or c.homePhone = :phoneNumber
Но, возможно, у вас должна быть сущность Phone с полями phoneNumber
и type
(работа, ячейка и т. Д.), А также двусторонняя связь OneToMany между контактом и телефоном. Ваш запрос будет тогда
select c from Phone p
inner join p.contact c
where p.phoneNumber = :phoneNumber
, что, безусловно, будет более эффективным.