Проблема Миграция нативного запроса из Hibernate в EclipseLink 2.0 - PullRequest
0 голосов
/ 03 августа 2011

Буду признателен, если кто-нибудь подскажет мне решение о том, почему я мог получить приведенную ниже ошибку при попытке выполнить следующий запрос, который не вызвал никаких проблем с Hibernate:

Entity (Step.java):

@Entity
@Table(name = "IAS_STEP")
public class Step implements Serializable {
    @Id
    private Long id;

    @Temporal(TemporalType.DATE)
    private Date tarih;

    private long formId;

    private Byte faz;

    // getters, setters, etc.
}

Метод в классе контроллера:

public byte getMaxPhase(String sid, long form_id) {
    EntityManager em = getEntityManager();
    try {
        Query q = em
                .createQuery(
                        "select max(faz) as mf from Step s where s.id = :sid and s.formId = :formId")
                .setParameter("sid", sid)
                .setParameter("formId", form_id);
        return ((Byte) q.getSingleResult()).byteValue();
    } finally {
        em.close();
    }
}

В Hibernate это работает нормально, но в EclipseLink 2.0 возникает ошибка.

Кто-нибудь может предложить обходной путь?

1 Ответ

1 голос
/ 03 августа 2011
max(faz) 

должно быть,

max(s.faz)

(если вы выполняете JPQL, а не собственный SQL-запрос)

...