0

我正在使用以下行来查询数据库:

List<PostsCategories> postsCategories = PostsCategories.findBySQL("select category from posts_categories");

它不是只返回[{category=Miscellaneous},....]它而是返回额外的信息,例如Model, table, attributes内部数组。

我不知道为什么它与activejdbc这样工作?

[Model: com.ngo.org10s.models.PostsCategories, table: 'posts_categories', attributes: {category=Miscellaneous}]

我如何简单地返回所需的值?

4

1 回答 1

1

这是因为 ActiveJDBC 是一个 ORM == 对象关系映射。这意味着模型实例包含所有属性以表示表中的单行。

findBySQL方法的 JavaDoc 声明:

确保查询返回与此模型关联的所有列,以便生成的模型可以正确地水合自己

换句话说,如果 a 的实例PostsCategories只有一个属性集,那么这不再是 ORM。

如果您坚持只获得一个属性,请使用org.javalite.activejdbc.Base

List<Map> categories = Base.findAll("select category from posts_categories");
于 2017-06-17T02:37:52.237 回答