2017-06-16 45 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"); 
相關問題