У меня были объекты User, BlockUnit, Block и Unit, как следует. Пользователь имеет отношение ManyToMany с блоком.
@Entity
public class User {
@ManyToMany
private Set<BlockUnit> blockUnits;
}
@Entity
public class BlockUnit {
@Id
private Long id;
@OneToOne(targetEntity = Block.class)
@JoinColumn(name = "block_id")
private Block block;
@OneToOne(targetEntity = Unit.class)
@JoinColumn(name = "unit_id")
private Unit unit;
@ManyToMany(fetch = FetchType.LAZY)
private Set<User> users = new HashSet<>();
}
БлокUnit имеет отношение OneToOne с блоком и блоком.
@Entity
public class Block {
@Id
private Long id;
}
@Entity
public class Unit {
@Id
private Long id;
}
Как создать спецификацию критериев JPA для вышеупомянутого чтобы выбрать пользователя, имеющего идентификатор блока и идентификатор объекта?
Большое спасибо заранее!