2015-10-30 4 views
0

Я разрабатываю проект Spring boot с данными весны jpa.Репозиторий Spring Crud Пользовательский запрос левого соединения

У меня есть два объекта с отношением друг к другу.

Кровать и Распределение

class Allocations(){ 
.... 

@ManyToOne 
    @JoinColumn(name="bedId" , nullable=true) 
     private Beds beds; 
..... 
} 

class Beds(){ 
.... 
@OneToMany(mappedBy="beds") 
    @JsonIgnore 
    private List<Allocations> allocations; 
.... 
} 

В Отчислении хранилища, когда я сделать FindAll(), я могу получить все распределения с bedID.

Но я хочу найти все Кровати, которые не выделены.

Хотел бы выполнить левое соединение на кроватях.

@Query("Select a from Beds b left join Allocations a on a.beds.bedID = b.bedId ") 
    public List<Allocations> findtest(); 

Как выполнить вышеуказанную деятельность.

Также я не могу найти allall() на кроватях, так как это не даст мне значения таблицы Allocations.

Раньше я использовал аннотацию @ jsonback/managedreferences, чтобы найти все кровати вместе с их выделениями. Но когда я добавлял новые распределения, я получал управляемые контрольные ошибки json, поэтому я использовал аннотацию @Jsonignore.

Пожалуйста, укажите требуемое решение

ответ

0

я получил запрос, чтобы выполнить левое соединение.

@Query("Select b , a from Beds b left join b.allocations a ") 
Смежные вопросы