【发布时间】:2015-01-03 08:06:58
【问题描述】:
我正在使用带有 jpa 的播放框架。我有一个模型 Jobads 有 2 个函数来 findall() findByLocation()
我的模型
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;无法转换为模型。Jobads]
为什么这个问题只出现在 findByLocation() 中,这个问题的解决方法是什么??
谢谢
【问题讨论】:
标签: java exception jpa model-view-controller playframework