2013-04-25 2 views
1

Я пытаюсь выяснить, как создать запрос (named?), Который будет соединяться вместе с моими сущностями. Могу ли я использовать свойства объекта для нового объекта и все еще это делать? Я не могу понять, как это будет выглядеть.JPA Именованный запрос с использованием свойств объекта

У меня есть 2 таблицы, заказ и таблица order_assoc. Навсегда созданный порядок в таблице заказов будет создан в order_assoc. Кроме того, повторный порядок может быть основан на предыдущем заказе. Итак, у меня есть столбец в order_assoc, который сообщает мне порядок, на котором он был основан.

Например, создается новый порядок 4, основанный на предыдущем 1. Итак, теперь будет выглядеть таблица-столбец.

order  order_assoc 
------  ------------- 
1 new  1 <-pk 4 1 
2 new 
3 new 
4 reorder 

У меня есть существующий класс сущности для заказа. Я добавил ссылку (новую сущность) в таблицу подключений

@OneToOne(fetch = FetchType.LAZY, optional = true, cascade = {CascadeType.ALL}, 
mappedBy = "onlineAdoptionEntity", targetEntity = OnlineAdoptionReOrderAssocEntity.class) 
private OnlineAdoptionReOrderAssocEntity reOrderAssocEntity; 

Новый объект выглядит следующим образом.

@Id 
@Column(name = "OA_REORDER_ID") 
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "reOrderNumberSeq") 
@SequenceGenerator(name = "reOrderNumberSeq", sequenceName = "REORDER_NUMBER_SEQ", allocationSize=1) 
private Long id; 

@OneToOne(optional = true,cascade = CascadeType.ALL) 
@JoinColumn(name="OA_ADOPTION_ID") 
private OnlineAdoptionEntity onlineAdoptionEntity; 


@ManyToOne(optional = true) 
@JoinColumn(name="OA_ORIGINAL_ADOPTION_ID_ASSOC") 
private OnlineAdoptionEntity baseReOrderAdoption; 

Любая помощь будет очень благодарна. Я видел, что был аналогичный пост here - мне просто не ясно, прочитав этот пост.

ответ

0

Я думаю, что вы ищете, оператор объединения:

SELECT ro FROM Order ro 
    INNER JOIN o.reOrderAssocEntry roa 
    INNER JOIN roa.baseReOrderAdoption bo 
    bo.key = :value 

Я рекомендую читать JPQL Language reference