I'm having trouble getting ObjectDB to select multiple values based on their ids. My query is super simple:
Query query = getEntityManager().createQuery("SELECT i FROM " + getEntityClass().getSimpleName() + " i WHERE i.id IN :ids", entityClass);
query.setParameter("ids", ids);
List<Object> values = query.getResultList();
But no matter what, this always returns an empty list.
The ids list contains a list of existing ids, all as Long objects. I triple-checked this.
Queries like:
entityManager.find(getEntityClass(), id);
...and...
Query query = entityManager.createQuery("SELECT i FROM " + getEntityClass().getSimpleName() + " i", entityClass);
...work fine.
Also, if I do: entityManager.find(getEntityClass(), 1L);
I get the result correct result: a single instance.
But:
List<Long> ids = new LinkedList<Long>();
ids.add(1L);
Query query = getEntityManager().createQuery("SELECT i FROM " + getEntityClass().getSimpleName() + " i WHERE i.id IN :ids", entityClass);
query.setParameter("ids", ids);
List<Object> values = query.getResultList();
returns an empty list to the values
variable.
What am I missing? Is this something ObjectDB just doesn't support?
Thanks!