Как создать спецификацию JPA для нескольких таблиц? - PullRequest
0 голосов
/ 05 февраля 2020

У меня были объекты 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 для вышеупомянутого чтобы выбрать пользователя, имеющего идентификатор блока и идентификатор объекта?

Большое спасибо заранее!

...