Код: Выделить всё
@Entity
public class User {
@Id
private Long id;
private String name;
@ManyToOne
private Pharmacy pharmacy;
}
@Entity
public class Pharmacy {
@Id
private Long id;
private String name;
}
Код: Выделить всё
@Entity
@FilterDef(name = "pharmacyFilter", parameters = {@ParamDef(name = "userId", type = "long")})
@Filters({
@Filter(name = "pharmacyFilter", condition = "id in (select user.pharmacy_id from user where user.id = :userId)")
})
public class Pharmacy {
//...
}
Код: Выделить всё
@Repository
public interface PharmacyRepository extends JpaRepository {
}
Код: Выделить всё
select pharmacy0_.id as id1_0_, pharmacy0_.name as name2_0_ from pharmacy pharmacy0_ where pharmacy0_.id in (select user.pharmacy_id from user where user.id = ?)
Код: Выделить всё
select pharmacy0_.id as id1_0_0_, pharmacy0_.name as name2_0_0_ from pharmacy pharmacy0_ where pharmacy0_.id=?
Код: Выделить всё
select pharmacy0_.id as id1_0_, pharmacy0_.name as name2_0_ from pharmacy pharmacy0_ where pharmacy0_.id in (select user.pharmacy_id from user where user.id = ?) and pharmacy0_.id=2
Код: Выделить всё
@Query(value = "from Pharmacy where id = :id")
Optional findById(Long id);
Подробнее здесь: https://stackoverflow.com/questions/659 ... yid-method