Ejb 3 JPA 1.0 Метод автоматически генерируемой последовательности объектов Toplink getId () всегда возвращает 0 - PullRequest
0 голосов
/ 26 декабря 2011

У меня проблемы с пониманием, если у меня есть список таблиц со стратегией автоматической генерации идентификаторов или какой-либо другой стратегией, как я могу получить идентификатор сущности? если быть точным, я хочу запросить таблицу сущности по идентификатору для пример: выберите e от работодателя e, где r.ID =: ID Где я могу получить этот идентификатор для поиска этого работодателя? также в стратегии последовательности, я должен установить свой собственный генератор последовательности, чтобы получить такие идентификаторы сущности, или это не связано с моим вопросом?

Я использую glassfish v2.1 toplink jpa 1.0 mysql server.

Заранее спасибо ...

1 Ответ

0 голосов
/ 26 декабря 2011

Не уверен, как заголовок вашего вопроса относится к самому вопросу, но вы редко делаете запрос по идентификатору, особенно когда идентификатор генерируется автоматически. Я бы порекомендовал определить бизнес-ключ и разработать методы equals и hahscode , которые в конечном итоге идентифицируют ваши сущности.

С точки зрения определения генератора последовательности, вам необходимо определить первичный ключ таблицы как auto_increment . Эта стратегия автоматически генерирует новый идентификатор для каждой новой записи.

...