首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"from“子句和"select”子句返回不同的JSON格式

"from“子句和"select”子句返回不同的JSON格式
EN

Stack Overflow用户
提问于 2017-04-04 15:35:34
回答 1查看 51关注 0票数 1

我有个问题。两者有什么区别?

代码语言:javascript
复制
books = session.createQuery("from Book b").list();

代码语言:javascript
复制
books = session.createQuery("select b.id, b.title, b.author, b.isbn, b.genre, b.price, b.amount from Book b").list();

因为我收到不同的JSON格式。第一个返回:

{"id":1,"isbn":"83-7298-723-8",“标题”:“上帝之手”。“马拉多纳的生活”,“价格”:32.1,“作者”:“吉米·伯恩”,“量”:13,“体裁”},{"id":2,"isbn":"978-83-11-10881-3",“标题”:“初学者体重训练指南”,“价格”:33.4,“作者”:“奥利弗·罗伯茨”,“数量”:4,“体育”类型:}

第二个是:

[1,“上帝之手,迭戈·马拉多纳的生活”,“吉米·伯恩”,"83-7298-723-8",“体育”,32.1,13,2,“初学者体重训练指南”,“奥利弗·罗伯茨”,“988-83-11-10881-3”,“体育”,33.4]

所以与[和{的顺序是不同的]是有区别的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-04 15:51:32

这两个查询的不同之处在于:

  1. 第一个在设置List<Book>时返回一个from Book b,因此它将返回整个Book对象。
  2. 第二个查询在设置List<Object[]>时返回一个select b.id, b.title, b.author, b.isbn, b.genre, b.price, b.amount from Book b,因此对于每个结果,查询将返回一个对象数组,其中每个属性都作为Object返回,而不管其类型如何。在这种情况下,即使您从实体中选择所有列,也会得到一个Object[]

这解释了你得到的两个JSON输出之间的区别。

参考:

您可以从Hibernte文档中看到:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43211674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档