Прежде всего, все работало отлично на моем предыдущем ноутбуке, когда я переместил свой код на новый ноутбук, я получаю эту ошибку, в основном я вызываю метод поиска в моем EJB, и код его работает нормально, как вEJB-jar выглядит так:
<query>
<query-method>
<method-name>finduserrightsonform</method-name>
<method-params>
<method-param>java.lang.String</method-param>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<ejb-ql>select object(o) from UserRightsOnForm o where o.ser_groups_users_id=?1 and o.ser_form_id=?2</ejb-ql>
</query>
, так как оба столбца в БД являются целыми числами, так как в моем предыдущем ноутбуке Postgres авто-приведение оно есть, но то, что мне не хватает, странно.насколько я пытался
- приведение, используя приведение (имя столбца как изменение символа), например, это также из-за ошибки
- изменить метод param на Integer, это не будет работать также, фактически остановленоразвернул jar
- , заменив версии Postgress на предыдущую.
- приведение типа как: :: smallint
Причина: org.postgresql.util.PSQLException: ОШИБКА: оператор не существует: целое число = символ меняется ОШИБКА [stderr] (EJB по умолчанию - 3) Подсказка: ни один оператор не соответствует данному имени и типу (аргументам) аргумента.Вам может потребоваться добавить явные приведения типов.
похоже, что среда может вызывать проблему с jar, но я упускаю то, что не могу ее перехватить.
код вызова:
sms.viewUserRightsOnFormImpl(userId, "validationForm", groupId);
определение:
Collection findUserRightOnForm(String user_id, String form_id) throws FinderException;
с использованием Jdevelper 11g postgress 9.2 Jboss 6 EJB 2.1
Примечание. Испытания всех ссылок Google и ссылок на стек почти потрачены впустую за 2 дня.