В настоящее время кортеж Hibernate принимает Map<String,String>
тип возврата, но мне нужен тип возврата Map<String,Object>
, как этого добиться.
Пример:
class User {
long id;
String imageUrl;
Address address;
//remaining mapping attributes
.
.
.
}
class Address {
String name;
}
Запрос My Criteria:
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Tuple> cq = builder.createTupleQuery();
Root<User> root = cq.from(User.class);
cq.multiselect(
root.get("imageUrl"),
root.get("address"));
cq.where(builder.equal(root.get("id"),3));
Tuple tuple = entityManager.createQuery(cq).getSingleResult();
tuple.get(0);
// Error occurs for below code. (Stack over flow exception)
tuple.get(1);
При получении imageUrl
ошибки не возникает, но при попытке получить address
атрибуты [Тип адреса не строка] триггеры спящего режима стекаются из-за исключения потока, посколькуон пытался преобразовать адрес в строку.
Есть ли какой-либо другой подход для достижения этой цели??