- Но без создания отношения @OneToMany в DataListEntity
- Без подзапросов
Код: Выделить всё
public static Specification joinWithDataListOptions() {
return (root, query, cb) -> {
Join join = root.join("join_field", JoinType.LEFT); //FIELD????
return cb.conjunction();
};
}
Код: Выделить всё
@Entity
@Data
@Accessors(chain = true)
@Table(name = "data_list")
@FieldNameConstants
public class DataListEntity {
@Id
@GeneratedValue(generator = "uuid")
private UUID id;
@Column(name = "name")
private String name;
@Column(name = "description")
private String description;
@Column(name = "key")
private String key;
}
Код: Выделить всё
@Entity
@Data
@Accessors(chain = true)
@Table(name = "data_list_option")
public class DataListOptionEntity implements EasyLoggable {
@Id
@GeneratedValue(generator = "uuid")
private UUID id;
@Column(name = "data_list_id")
private UUID dataListId;
@Column(name = "business_account_id")
private UUID businessAccountId;
@Column(name = "option")
private String option;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "data_list_id", insertable = false, updatable = false)
private DataListEntity dataList;
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... ionship-be