Не удалось выполнить объединение в именованном запросе - PullRequest
0 голосов
/ 13 июня 2019

Я написал запрос на соединение, который при тестировании на SQL-разработчике с использованием предложения ON работает нормально и возвращает результат, но когда я выполняю его с запросом имен, я получаю 0 результатов, но без ошибок.

Запрос SQL на SQL-разработчике

select * from LEASINGPRODUCTGROUP lg join DFE_APPLICATION da ON lg.APPLICATIONID = da.id where da.id =3;
And returns about 5 results

Но мне нужно использовать именованный запрос, и я использую выборку соединения

Это класс

@Entity
@Table(name = "LEASINGPRODUCTGROUP")
@NamedQueries({ 
        @NamedQuery(name = "LeasingProductGroupOB.findByAppid", query = "SELECT p FROM LeasingProductGroupOB p join fetch p.applications aa  WHERE aa.id = :appid ORDER BY p.idx asc") })
@SequenceGenerator(allocationSize = 1, name = "SEKWENCJA", sequenceName = "GEN_LEASINGPRODUCTGROUP_ID")
public class LeasingProductGroupOB extends BaseOB {

    private String                 nazwa;
    private Long                   idx                = new Long(0);
    private Long                   applicationId;

    private List<DfeApplicationOB> applications;

    private List<LeasingProductOB> listLeasingProduct = new 
 ArrayList<LeasingProductOB>();

    @Column(name = "NAZWA")
    public String getNazwa() {
        return nazwa;
    }

    public void setNazwa(String nazwa) {
        this.nazwa = nazwa;
    }

    @Column(name = "IDX")
    public Long getIdx() {
        return idx;
    }

    public void setIdx(Long idx) {
        this.idx = idx;
    }

    @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @Cascade({ org.hibernate.annotations.CascadeType.DELETE_ORPHAN })
    @JoinColumn(name = "GROUPID", nullable = false)
    public List<LeasingProductOB> getListLeasingProduct() {
        return listLeasingProduct;
    }

    public void setListLeasingProduct(List<LeasingProductOB> listLeasingProduct) {
        this.listLeasingProduct = listLeasingProduct;
    }

    @Column(name = "APPLICATIONID")
    public Long getApplicationId() {
        return applicationId;
    }

    public void setApplicationId(Long applicationId) {
        this.applicationId = applicationId;
    }


    @JoinTable(name = "LEASINGPRODUCTGROUPAPP",  joinColumns = {
            @JoinColumn(name = "GROUPID", referencedColumnName = "ID", nullable = false) }, inverseJoinColumns = {
            @JoinColumn(name = "APPID", referencedColumnName = "ID", nullable = false) })
    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    public List<DfeApplicationOB> getApplications() {
        return applications;
    }

    public void setApplications(List<DfeApplicationOB> applications) {
        this.applications = applications;
    }
}

DfeApplicationOB = DFE_APPLICATION в базе данных

Когда я пытаюсь запустить LeasingProductGroupOB.findByAppid, я получаю 0 результатов Любое предложение, почему или что-то с запросом не правильно? Спасибо.

...