Я обновляю свои проекты Play Version с 2.2.2 до 2.3.1. После этого обновления запрос начал возвращать неожиданный результат.
@Entity
@Table(name = "table_num_one")
public class TableNumOne extends Model {
private static final long serialVersionUID = 1L;
public static class TABLE {
public static final String TABLE_NUM_TWO = "tableNumTwos";
}
@Id
@Column(unique = true, nullable = false)
public String id;
@JsonManagedReference
@OneToMany(cascade = CascadeType.ALL, mappedBy = "tableNumOne")
public List<TableNumTwo> tableNumTwos;
public static Finder<String, TableNumOne> find = new Finder<String, TableNumOne>. (String.class, TableNumOne.class);
}
@Entity
@Table(name = "table_num_two")
public class TableNumTwo extends Model {
private static final long serialVersionUID = 2L;
public static class TABLE {
public static final String TABLE_NAME = "table_num_two";
public static final String TABLE_NUM_ONE = "tableNumOne";
public static final String TABLE_NUM_THREE = "tableNumThree";
}
@JsonIgnore
@Id
public int id;
@JsonBackReference
@ManyToOne(cascade = CascadeType.ALL)
public AppResult tableNumOne;
@JsonManagedReference
@OneToMany(cascade = CascadeType.ALL, mappedBy = "tableNumTwo")
public List<TableNumThree> tableNumThree;
}
@Entity
@Table(name = "table_num_three")
public class TableNumThree extends Model {
private static final long serialVersionUID = 3L;
public static class TABLE {
public static final String TABLE_NAME = "yarn_app_heuristic_result_details";
public static final String TABLE_NUM_TWO = "tableNumTwo";
}
@JsonBackReference
@ManyToOne(cascade = CascadeType.ALL)
public TableNumTwo tableNumTwo;
}
и запрос
TableOne result = TableOne.find.select("*")
.fetch(TableOne.TABLE.TABLE_NUM_TWO, "*")
.fetch(TableOne.TABLE.TABLE.TABLE_NUM_TWO + "." +
TableNumTwo.TABLE.TABLE_NUM_THREE, "*")
.where()
.eq(TableNumOne.TABLE.ID, id)
.order()
.desc(id)
.findUnique();
В результате все связанные строки TableNumTwo извлекаются, но строки для TableNumThree получает выборку, ранее использовавшуюся для успешной выборки. Пожалуйста, помогите с этим, у меня есть идея о том, как отладить это,