解决 Ljava.lang.Object
Resolve Ljava.lang.Object
Ljava.lang.Object是什么意思?我有这样使用 JPQL 制作的列表:
public 列出 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 五次。我该怎么做才能让它正确?
为了在 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) and createQuery(String qlString, Class resultClass)
的区别
Ljava.lang.Object是什么意思?我有这样使用 JPQL 制作的列表:
public 列出 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 五次。我该怎么做才能让它正确?
为了在 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) and createQuery(String qlString, Class resultClass)
的区别