java – EclipseLink错误:异常描述:缺少类的描述符

我只想用
EclipseLink创建一个简单的本机查询,但我不能让它工作

    @Repository("CarsRepository")
public class JpaCarsRepository {

    @PersistenceContext 
    private EntityManager em;

    public List<Car> getCars(){
     Query q=em.createNativeQuery("SELECT id,name_car FROM CARS",Car.class);
     List<Car> results=q.getResultList();

我的’Car’类被定义为@Entity. (我的persistence.xml只有基本的连接设置)我得到类’Car’的’Missing descriptor’错误.

为什么会这样?我看到similar question没有帮助我.

第二个问题:

如果我没有指定’createNativeQuery’函数的第二个参数(Car.class),它会返回一个对象列表,所以我可以看到results.get(0)的值是[1 car].我可以遍历对象列表.因此,如果

Object o=results.get(0)

我可以手动创建Car对象,但我不知道如何获取对象的第一个值,如果我打印o [0]得到对象的值1(这是[1 car])我得到以下错误表达式的类型必须是数组类型,但必须解析为object

我怎样才能访问对象的每个值?

最佳答案 它不认为Car是实体,看起来它没有被扫描.在persistence.xml中的class-element中列出你的实体会有帮助吗?

第二次尝试返回对象数组列表.要访问值,您必须首先将结果集的一行转换为Object数组:

Object[] o=results.get(0)
//types below are just guessed:
Integer id = o[0];
String name = o[1];
点赞