Код: Выделить всё
rmv
В одном сценарии этот подход не работает.
Вот пример:
Код: Выделить всё
@Entity
@Table(name = "main_entity")
public class MainEntity {
@Id
private Long id;
@OneToOne(mappedBy = "main", cascade = CascadeType.ALL)
private DetailEntity detail;
}
@Entity
@Table(name = "detail_entity")
@Where(clause = "rmv = false")
public class DetailEntity{
@Id
private Long id;
@Column
private Boolean rmv = false;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "main_id", nullable = false)
private MainEntity main;
}
Он выдает следующий SQL-запрос
Код: Выделить всё
select m.*, d.*
from main_entity m
left join detail_entity d
on m.id=d.main_id
where m.id=?
Мои вопросы:< /p>
- Это ошибка или ожидаемое поведение?
- Если это ожидаемое поведение, есть ли способ добиться желаемого эффекта?
Подробнее здесь: https://stackoverflow.com/questions/787 ... ne-mapping