我使用以下行查询数据库:
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}]
如何简单地返回所需的值?
答案 0 :(得分:1)
这是因为ActiveJDBC是一个ORM ==对象关系映射。这意味着模型实例包含表示表中单个行的所有属性。
方法findBySQL具有声明:
的JavaDoc确保查询返回与此模型关联的所有列,以便生成的模型能够正确地保持水分
换句话说,如果PostsCategories
的实例只有一个属性集,那么这不再是ORM。
如果您坚持只获取一个属性,请使用org.javalite.activejdbc.Base
:
List<Map> categories = Base.findAll("select category from posts_categories");