Автоматически сгенерированный первичный ключ бина CMP 2.0 WAS 6.1

Можно ли сопоставить поле ключа компонента с столбцом первичного ключа идентификатора в DB2? Пример таблицы: CREATE TABLE ADDRESS ( ID INTEGER НЕ НУЛЬ, ПОЛУЧЕНО ПО УМОЛЧАНИЮ В КАЧЕСТВЕ ИДЕНТИЧНОСТИ (НАЧАТЬ С 1 УВЕЛИЧЕНИЯ НА 1 МИНУЗУ 1 МАКС. ЗНАЧЕНИЕ 2147483647 БЕЗ КИКСА ЦИКЛА 20 БЕЗ ЗАКАЗА), Линия 1 VARCHAR(255) НЕ НУЛЬ, Город 2, VARCHAR (Line5), 25 VARCHAR (255) NOT NULL, почтовый индекс VARCHAR(6) NOT NULL, Country VARCHAR(50) NOT NULL, широта DOUBLE, долгота DOUBLE) AUDIT NONE DATA CAPTURE NONE CCSID UNICODE;

Методы ejbCreate были адаптированы, чтобы НЕ устанавливать поле идентификатора, но он инициализируется по умолчанию для целочисленного типа - 0, поэтому я получаю DuplicateKeyException при втором и последующих вызовах ejbCreate. Как лучше всего реализовать поведение IDENTITY? Я нашел много примеров для JBoss, но ничего для WAS. Это было легко с JPA, но CMP 2.0 является обязательным в настоящее время

1 ответ

Переопределите метод ejbPostCreate. Вы сможете получить сгенерированный идентификатор оттуда и обновить свою модель и код, чтобы избежать дублирования идентификаторов.

Например, посмотрите на http://forums.sun.com/thread.jspa?threadID=699131

Другие вопросы по тегам