У меня проблемы с EclipseLink.Моя программа должна взаимодействовать с базой данных (представляющей здание).Я написал небольшой входной тестовый режим, в котором я могу вручную вставлять вещи через консоль.
Моя проблема: обычная операция getByID работает очень хорошо, если я пытаюсь получить сущность, которую я ранее вставил через сам EclipseLink (by commit ()), но выдает исключение NoResultException при попытке выбрать строку, вставленную вручную через SQL-скрипт (сборка -> много комнат -> сценарий).
Это (с чрезмерным упрощением) работает нормально:
main() {
MyRoom r = new MyRoom();
r.setID("floor1-roomnr4");
em.commit(r); //entity manager
DAO.getRoomByID("floor1-roomnr4"); // works
}
и комбинация generation-script + просто getRoomByID () вызывает исключение.
Если я пробую это в SQL Developer, я получаю желаемый результат для точного оператор выбора, который только что сгенерировал исключение NoResultException.Я также получаю эту проблему только в режиме ввода, в противном случае выбор сгенерированных строк также работает нормально.
Есть ли в EclipseLink какой-то механизм кэширования, о котором я не знаю, который вызывает некоторую проблему?