我已经创建了一个原生的自定义查询方法。
public List<Product> test() {
return (em.createNativeQuery("SELECT * from products")).getResultList();
}
并调用EntityManager:
@PersistenceContext
private EntityManager em;
但我得到的是:
[[Ljava.lang.Object;@3e9645ea, [Ljava.lang.Object;@a4d8d28, [Ljava.lang.Object;@402a1b8d, [Ljava.lang.Object;@3e654fce, [Ljava.lang.Object;@3250e4fd, [Ljava.lang.Object;@54921b52]
当我打印出列表时, 对象的数量是正确的,所以我假设一些与铸造是不正确的。我确实在我的IDE中得到一个警告。
Unchecked assignment: 'java.util.List' to 'java.util.List<packageName.Product>'
为什么会发生这样的事情,我怎么才能得到正确的列表?
你可以在 createNativeQuery
方法如下。
query = entityManager.createNativeQuery("SELECT * from products", Product.class)
List<Employee> results = query.getResultList();