Sha*_*til 8 mapping jpa entitymanager
我正在尝试使用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;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到unknown SqlResultSetMapping ResultMapping错误我应该把SqlResultSetMapping放在哪里,以便entityManager能够识别它?
wyp*_*prz 11
我应该把SqlResultSetMapping放在哪里,以便entityManager能够识别它?
据我所知,它与持久性提供程序不同:
Hibernate:把它放在用@Entity注释的任何类中; 事实上,当我把它放在其他地方时,我能够重现错误:
org.hibernate.MappingException: Unknown SqlResultSetMapping [ResultMapping]
Run Code Online (Sandbox Code Playgroud)使用EclipseLink 2.5.2,Hibernate 4.3.8.Final进行测试
通常,为了使您的应用程序可以跨JPA提供程序移植,最好将SqlResultSetMapping放在任何实体类中.
| 归档时间: |
|
| 查看次数: |
9835 次 |
| 最近记录: |