解析Ljava.lang.Object

问题描述 投票:0回答:1

Ljava.lang.Object是什么意思?我有使用JPQL这样创建的列表:

公共列表findLast5Articles(){

    return entityManager
            .createQuery("SELECT a.title, a.created, SUBSTRING(a.content, 1, 200) " +
                    "FROM " +Article.class.getName() +" a ORDER BY a.created DESC")
            .setMaxResults(5)
            .getResultList();
}

[当我尝试在json上显示此内容时,它仅显示Ljava.lang.Object五次。我该怎么做才能使它正确?

json list jpa jpql
1个回答
0
投票

为了在JPA中获得类型化的结果集,您需要指定实体类型。在您的示例中,您可以使用:

return entityManager.createQuery("SELECT a.title, a.created, SUBSTRING(a.content, 1, 200) FROM Article a ORDER BY a.created DESC", Article.class).setMaxResults(5).getResultList();

在此处查看Java持久性文档:

https://docs.oracle.com/javaee/7/api/javax/persistence/EntityManager.html

特别是createQuery(String qlString)createQuery(String qlString, Class resultClass)之间的差异

© www.soinside.com 2019 - 2024. All rights reserved.