У меня есть 3 модели, модель для города, у которой есть поле для regionId, модель для региона, у которой есть поле для stateId.Как получить список предметов с помощью Ebean с использованием сложного запроса
модели для города:
@Entity
@Table(name = "town")
public class Town extends Model {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "town_id_seq")
private Integer id;
@Column(name = "region_id")
private Integer regionId;
...
модели для региона:
@Entity
@Table(name = "region")
public class Region extends Model {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "region_id_seq")
private Long id;
@Column(name = "state_id", nullable = false)
private Long stateId;
...
модели государства:
@Entity
@Table(name = "state")
public class State extends Model {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "state_id_seq")
private Integer id;
...
Мне нужно, чтобы получить список городов, в определенном состоянии. В SQL я хотел бы сделать что-то вроде этого:
select * from town join region on town.region_id = region.id
where region.state_id=15666
Я выборка из двух таблиц
public static List<Town> findAllInState(Integer stateId) {
return Ebean.find(Town.class).fetch("region").findList();
}
, но когда я пытаюсь добавить .where().eq("region.stateId", stateId)
он показывает BeanList size[0] hasMoreRows[false] list[]
Как я могу получить его с помощью Ebean ?