Hibernate OGM - java.lang.StringIndexOutOfBoundsException: индекс строки вне диапазона: -1 - PullRequest
0 голосов
/ 23 декабря 2018

Я не могу получить этот документ в JPQL, используя внутренний идентификатор

{
    "_id" : {
        "activity_id" : NumberLong(1),
        "id" : NumberLong(629364456)
    },
    "date" : ISODate("2018-12-22T23:41:22.951Z"),
    "sys_date" : ISODate("2018-12-22T23:41:22.951Z"),
    "disable_revision" : 0,
    "type" : "myMongoEvent",
    "title" : "ref title",
    "revision" : "0.0",
    "freeze" : false,
    "user_id" : 0,
    "syncdate" : ISODate("2018-12-22T23:41:22.951Z"),
    "undelable" : 0,
    "username" : ""
}

Запрос:

Query query = entitymanager.createQuery("SELECT e.title FROM Event e WHERE e.id.id=:id");
query.setParameter("id",2046229248L);
List results = query.getResultList();

Это работает, если я запрашиваю простую строкуполе типа title.

Нет, если я запрашиваю с помощью идентификатора составного индекса (мне нужен составной индекс).

Я получаю ошибку java.lang.StringIndexOutOfBoundsException: String index out of range: -1даже если я запрашиваю несуществующее title .. Я просто должен получить нулевые результаты, почему выдается исключение?

1 Ответ

0 голосов
/ 12 февраля 2019

Проблема в этом случае - ошибка в OGM.Это происходит, когда аннотация @Column используется для атрибута emebdded id.В этом случае запрос к этому полю вызовет исключение.

Исправление было предоставлено , и оно будет доступно в следующем выпуске.

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