我不确定@Toni4780。以下测试用例对我有用。我看不出你做错了什么。
在 for 的表中EntityB
,ORMLite实际上存储了 的id,EntityA
所以我想知道它是 null 还是 0。您是否尝试过以下操作?
bDao.queryBuilder().where().eq(EntityB.Ent_A_NAME, 0).prepare();
或两者:
bDao.queryBuilder().where().isNull(EntityB.Ent_A_NAME).
or().eq(EntityB.Ent_A_NAME, 0).prepare();
这是我的有效单元测试代码:
Dao<Order, Integer> orderDao =
DaoManager.createDao(connectionSource, Order.class);
TableUtils.createTable(connectionSource, Order.class);
int numOrders = 10;
for (int orderC = 0; orderC < numOrders; orderC++) {
Order order = new Order();
order.val = orderC;
assertEquals(1, orderDao.create(order));
}
List<Order> results = orderDao.queryBuilder().where()
.isNull(Order.ACCOUNT_FIELD_NAME).query();
assertNotNull(results);
assertEquals(numOrders, results.size());