2017-06-16 63 views
0

我使用以下行来查询数据库:如何使用javalite从数据库中返回记录?

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

我假设你确实使用Javalite的ActiveJDBC框架,你实际上已经尝试过的简单例子[这里](HTTP:// javalite。 IO/activejdbc)。 – DevilsHnd

+0

@DevilsHnd是的,我做到了 – kittu

回答

1

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

findBySQL具有JavaDoc中,指出该方法:

确保查询返回所有与此模型相关的列,使得所得到的模型可以滋润自己正确

换句话说,如果一个PostsCategories的实例只有一个属性集,而不是一个ORM。

如果你坚持要只有一个属性,使用org.javalite.activejdbc.Base

List<Map> categories = Base.findAll("select category from posts_categories"); 
相关问题