2009-06-29 3 views
0

Я использую oracle TopLink как слой persistence с бизнес-логикой, реализованной в java. Я использую класс выражений и выражений для получения данных из базы данных. Проблема в том, что в таблице базы данных мы не имеем повторяющихся строк, но когда я запрашиваю базу данных через класс ReadObjectQuery, я получаю такое же количество строк, что и в таблице базы данных, но с первой копией, каждый раз повторяющейся, так что все строки показывают первую запись.Oracle TopLink: ошибочное получение дублирующих записей

Пожалуйста, помогите мне как можно скорее

ответ

0

Такое поведение обычно проявляется, если первичные ключевые поля, которые вы определили в вашем отображении, не являются уникальными на всех. Случается, что Toplink извлекает первую строку и преобразует ее в объект Java. Для последовательных строк кажется, что указанное поле первичного ключа идентично определенному из первой строки. Поэтому Toplink не выполняет преобразование снова и загружает объект с тем же ключом из своего кеша, то есть объект, относящийся к первой строке.

Смежные вопросы