我正在使用與jpa播放框架。我有2個功能模型Jobads到的findAll()findByLocation()爲什麼簡單選擇查詢返回列表<Mymodel>但加入查詢返回列表<Object> jpa
我的模型
public class Jobads {
@Id
@Column(name = "id", nullable = false)
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String title;
@ManyToOne
private Jobindistry industry;
@ManyToMany
@JoinTable(
name = "jobads_city",
joinColumns = {@JoinColumn(name = "jobads_id", referencedColumnName = "id")},
inverseJoinColumns = {@JoinColumn(name = "city_id", referencedColumnName = "id")})
private List<City> city;
}
的findAll()
public static List<Jobads> findall() {
@SuppressWarnings("unchecked")
List<Jobads> el = JPA.em().createQuery("from Jobads order by id").getResultList();
return el;
}
findByLocation()
public static List<Jobads> findByLocation(String location) {
List<Jobads> jadList = JPA.em().createQuery("FROM Jobads j join j.city c WHERE c.name LIKE :location ").setParameter("location", "%" + location + "%").getResultList();
return jadList;
}
我打印在我的控制檯中的函數輸出findall()工作正常,但findByLocation()給我一個例外[ClassCastException:[Ljava.lang.Object;無法投射到models.Jobads]
爲什麼只發生在findByLocation()中的這個問題以及這個問題的解決方案是什麼?
謝謝
thaku非常非常 – silentprogrammer