java - 运行 ObjectBox 查询时获得随机字符串作为结果而不是值

标签 java objectbox

我已经逐一搜索了文档并尝试了很多方法,但到目前为止没有任何效果。

问题是,在我成功构建了一个具有工作查询系统(SearchContentActivity.java)的类及其支持类(UserContent.java、UserContentAdapter.java、UserContentBoxapp.java ),我必须为与内容的一对多关系建立一个新的数据库(CategoryNameSet.java,只有一个属性“String CategoryName” )。

大多数代码看起来像其他查询:

public class TestActivity extends AppCompatActivity {

    private TextView textView;
    private BoxStore store;
    Box<CategoryNameSet> categoryNameSetBox;
    List<CategoryNameSet> categoryNameSetList;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test);

    textView = (TextView) findViewById(R.id.activity_test_textView);
    store = ((UserContentBoxApp) getApplication()).getBoxStore();

    categoryNameSetBox = store.boxFor(CategoryNameSet.class);
    categoryAdd();
}

private void categoryAdd() {
categoryNameSetList = categoryNameSetBox.query().contains(CategoryNameSet_.categoryName, "yahoo").build().find();

String text = "categoryNameSet instances: " + categoryNameSetBox.count()
        + ". Name of instances: " + categoryNameSetList;


    textView.setText(text);}
}

当我运行代码时,它显示完整的包名称、类名称和@随机字符串

示例:

categoryNameSet instance: 155. Name of instances: [com.google.test.myapp.CategoryNameSet@ccd488d, com.google.test.myapp.CategoryNameSet@9910a42]

结果数为2,即在另一个类中将“yahoo”放入categoryNameSetBox中的次数。这表明查询可以搜索并“查看”结果。

如何将这些随机字符串的结果更改为 CategoryNameSet.java 中包含的 CategoryName 属性?

最佳答案

我认为您正在寻找 property queries ,它不返回一个对象,而只返回每个对象的一个​​属性。

关于java - 运行 ObjectBox 查询时获得随机字符串作为结果而不是值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49469657/

相关文章:

kotlin - 使ObjectBox与LiveData和Kotlin一起使用

java - 根据输入询问变量数量(for/while 语句?)

模块信息中的 Javadoc 注释

java - 其余 Jersey json 编码

java - 在 ObjectBox 中级联删除或对此进行模拟

ObjectBox - 另一个 BoxStore 仍为此目录打开

java - 验证@RequestParam 在枚举列表中

java - AWS DynamoDB 选择日期范围的查询

android - 仅维护对象框中预定义的有限数量的条目

android - 仅在 Android 本地单元测试中,ObjectBox ToOne 对象在实体内部为空