Ошибка приведения типа postgres в Jboss при вызове метода поиска в Ejb 2.1 - PullRequest
0 голосов
/ 22 февраля 2019

Прежде всего, все работало отлично на моем предыдущем ноутбуке, когда я переместил свой код на новый ноутбук, я получаю эту ошибку, в основном я вызываю метод поиска в моем 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 авто-приведение оно есть, но то, что мне не хватает, странно.насколько я пытался

  1. приведение, используя приведение (имя столбца как изменение символа), например, это также из-за ошибки
  2. изменить метод param на Integer, это не будет работать также, фактически остановленоразвернул jar
  3. , заменив версии Postgress на предыдущую.
  4. приведение типа как: :: 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 дня.

...