Eclipselink переведено исключение sqlstring - PullRequest
0 голосов
/ 27 мая 2020

У меня есть простой объект JPA с @ AdditionalCriteria , упомянутым для языка входа в систему. Я также указал перенаправитель запросов для этого класса. Когда я пытаюсь получить переведенную строку sql в перенаправителе запросов, я получаю исключение с нулевым указателем. Причина в том, что поле в сущности называется lang, а дополнительный параметр критерия - LOGIN_LANGUAGE. Исключение выдается, когда выполняется строка 273 класса org.eclipse.persistence.internal.expressions.ParameterExpression .

Моя сущность JPA выглядит так

@QueryRedirectors(allQueries=VPMQueryRedirector.class)
@AdditionalCriteria(value = "this.lang = :LOGIN_LANGUAGE")
public class AuthorityTextView extends EntityCommons implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "AUTHORITYID", length = 36)
    private String authorityId;

    @Id
    @Column(name = "LANG", length = 2)
    private String lang;

    @Column(name = "AUTHORITYTEXT", length = 255)
    private String authorityText;

    @Column(name = "DEFAULTUSED")
    private Boolean defaultUsed; 


    public String getAuthorityId() {
        return authorityId;
    }

    public String getLang() {
        return lang;
    }

    public String getAuthorityText() {
        return this.authorityText;
    }

    public Boolean getDefaultUsed() {
        return this.defaultUsed;
    }
}

Мой перенаправитель запросов указан ниже

public class VPMQueryRedirector implements QueryRedirector {

    private static final long serialVersionUID = 3912645701055442481L;
    private Logger logger = LoggerFactory.getLogger(getClass());

    @Override
    public Object invokeQuery(DatabaseQuery query, Record arguments, Session session) {

        query.setDoNotRedirect(true);
        String translatedSQLString = query.getTranslatedSQLString(session, arguments);
        }

Я создал ошибку в разделе eclipselink , но пока не было никаких обновлений, правильно ли наблюдение или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...