我正在尝试使用jpa的entityManager的createNativeQuery方法映射非实体pojo。通过使用这样的东西
@SqlResultSetMapping(name="ResultMapping",
classes={
@ConstructorResult(
targetClass=Employee.class,
columns={
@ColumnResult(name="empID", type=Long.class),
@ColumnResult(name="empName", type=String.class),
}
)
}
)
public class Loader{
private EntityManager em;
public void load(){
Query query = em.createNativeQuery("select empID, empName from employee", "ResultMapping");
List<Employee> = query.getResultList();
}
}
public class Employee{
private long empID;
private String empName;
public Employee(long empid, String empname)
{
this.empID = empid;
this.empName = empname;
}
}
我得到unknown SqlResultSetMapping ResultMapping
错误
我应该将 SqlResultSetMapping 放在哪里以便实体管理器能够识别它?
我应该将 SqlResultSetMapping 放在哪里以便实体管理器能够识别它?
据我所知,它与持久性提供者有所不同:
使用 EclipseLink 2.5.2、Hibernate 4.3.8.Final 进行测试
一般来说,为了使您的应用程序能够跨 JPA 提供程序移植,最好将 SqlResultSetMapping 放在任何实体类中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)