Currently Hibernate tuple accept Map<String,String> return type but i need return type of Map<String,Object> how to achieve this.
Example:
class User {
long id;
String imageUrl;
Address address;
String username;
String password;
String email;
}
class Address {
long id;
String name;
String Street code;
}
My Criteria Query:
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);
While getting imageUrl there is no error but when it tries to fetch address [Address type not string] attribute hibernate triggers stack over flow exception because it was trying to convert address to string.
Is there any other approach to achieve this.. ?