Я написал запрос на соединение, который при тестировании на 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 результатов
Любое предложение, почему или что-то с запросом не правильно? Спасибо.