当我运行以下代码时,它仅返回对象列表。我想要车辆中的清单。我的代码中有什么错误?
我的dao课是:
public class VehicleDao {
HibernateTemplate template;
private EntityManager emManager;
@PersistenceContext
public void setEm(EntityManager emManager) {
this.emManager = emManager;
}
public List<Vehicle> getVehicleDataUsing_Sp()
{
Properties prop= new Properties();
try {
InputStream input = new FileInputStream("E:\spring4AndHibernate5\src\Query.properties");
prop.load(input);
Query query = emManager.createNativeQuery(prop.getProperty("vehicleQuery"));
List<Vehicle> list = query.getResultList();
return list;
}
}
您要么需要在本机查询定义中定义结果类(使用定义命名查询的 resultClass=Vehicle.class
(
和/或
使用CreateNamedQuery(使用createNativeQuery(prop.getProperty("vehicleQuery"), Vehicle.class)
(时,您需要映射本机类。
当您指定返回类型为 void
时,您无法返回List<Vehicle>
。
而是尝试一下:
public List<Vehicle> getVehicleDataUsing_Sp()
,您还需要在try
块之后添加catch
块,例如:
catch(Exception e)
{
}
因为它是本地查询,除非您告诉它,否则它不知道该尝试映射什么。
尝试:
Query query = emManager.createNativeQuery(prop.getProperty("vehicleQuery"), Vehicle.class);