Как принять Tuple типа Mapв JPA - PullRequest
0 голосов
/ 17 октября 2019

В настоящее время кортеж 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 атрибуты [Тип адреса не строка] триггеры спящего режима стекаются из-за исключения потока, посколькуон пытался преобразовать адрес в строку.

Есть ли какой-либо другой подход для достижения этой цели??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...