|
|
От: | secam | |
| Дата: | 16.05.05 12:10 | ||
| Оценка: | |||
R><ejb-ql>
R> SELECT MAX(s.id) FROM schema1 s
R></ejb-ql>
R>Error parsing ejb-ql query: 'SELECT MAX(c.id) FROM ClientEJB AS c':
Expected 'object', path variable or 'distinct', not 'MAX' at position 8 ('MAX')Для меня это было новостью.Для персистентности, управляемой контейнером, эти значения ключа могут генерироваться автоматически контейнером EJB. Чтобы использовать преимущества от этого свойства бин сущности должен удовлетворять следующим требованиям:
В дескрипторе развертывания класс первичного ключа определяется как java.lang.Object. Поле первичного ключа не задается.
В домашнем интерфейсе аргумент метода findByPrimaryKey должен быть java.lang.Object.
В классе бина сущности возвращаемый тип метода ejbCreate должен быть java.lang.Object.
В таких бинах сущностей значения первичного ключа находятся во внутреннем поле, которое доступно только контейнеру EJB. Вы не можете связать первичный ключ с персистентным полем или с любой другой переменной экземпляра. Но вы можете выбрать первичный ключ бина вызовом метода getPrimaryKey и вы можете найти бин вызовом его метода findByPrimaryKey.