У меня есть две таблицы с @History и @SoftDelet каждая. Когда я работаю с не удаленными данными, это нормально. Но когда я пытаюсь найти удаленные данные для модели, которая содержит поле с опцией загрузки EAGER, используя setIncludeSoftDeletes ():
t2.find.query().setId(id).setIncludeSoftDeletes().findOne();
Я получил исключение:
Запрос сгенерирован. SQLException: значение для параметра 2 не указано. Значения привязки: [1,] Запрос был: выберите t0.id, t0.deleted, t1.id из t2 t0, оставьте соединение t1_with_history t1 на t1.t2_id = t0.id и (t1.sys_period_start <=? и (t1.sys_period_end равен нулю или t1.sys_period_end>?)) где t0.id =?
почему было добавлено объединение с представлением t1_with_history?
Модель
@Entity
@Table(name = "t1")
@History
public class t1 extends Model {
public static final Finder<String, t1> find = new Finder<>(t1.class);
@Id
public Long id;
@SoftDelete
public Boolean deleted;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "t2_id")
private t2 _t2;
@JsonIgnore
public t2 get_t2(){
return this._t2;
}
}
@Entity
@Table(name = "t2")
@History
public class t2 extends Model {
public static final Finder<String, t2> find = new Finder<>(t2.class);
@Id
public Long id;
@SoftDelete
public Boolean deleted;
@OneToOne(mappedBy = "_t2", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
public t1 _t1;
}