2016-08-01 1 views
0

У меня есть 2 класса один, а один - Телефон. У меня есть двунаправленное сопоставление. Пользователь может иметь несколько номеров телефонов.Спящий режим для одного двунаправленного номера

User{ 
private int id; 

private String name; 

@OneToMany(cascade=CascadeType.ALL, mappedBy="user") 
List<Phone> phoneList; 

//get set// 


} 

class Phone{ 

private int id; 
private String number; 
@ManyToOne(cascade=CascadeType.ALL) 
private User user; 


} 

Предположим теперь, если пользователь имеет 2 номера телефона Теперь, когда я получаю пользователя и получить номер телефона от пользователя. Если мне нужен один номер телефона, я получаю оба номера. Так есть ли способ получить только одно число.

+0

Какой номер телефона? Если вы загружаете пользователя, у этого Пользователя явно будет несколько телефонов ... потому что у них есть несколько телефонов. Вы можете сделать запрос, чтобы получить СПЕЦИФИЧЕСКИЙ телефон –

ответ

0

Вопрос: какой номер вы хотите приобрести? ех. Пользователи текущие, сначала используемые или конкретные ...?

У пользователя есть ссылка на список номеров, и вы получаете к ним доступ по индексу (например, PhoneList [0]) и манипулируете ими. Наиболее распространенный способ - использовать инструменты LINQ для сложных задач или конкретных чисел.

+0

, что LINQ имеет отношение к JPA и Hibernate, я не совсем уверен ... –

+0

В спящем режиме Когда я получаю одного пользователя, а затем, если я попытаюсь получить номер телефона, он получит весь список номера телефона, связанного с пользователем. Но я хочу один номер телефона. SO Есть ли какой-либо фильтр или какой-либо другой способ сделать это. @Niel Stockton –

Смежные вопросы