Я пытаюсь использовать hibernates, встроенные в функцию createql, но, похоже, следующий запрос не нравится
List =hibernateSession.createSQLQuery("SELECT number, location FROM table
WHERE other_number IN
(SELECT f.number FROM table2 AS f JOIN table3 AS g on f.number = g.number
WHERE g.other_number = " + var + ")
ORDER BY number").addEntity(Table.class).list();
У меня такое ощущение, что это из вложенного оператора select, но я не уверен. Внутренний выбор используется в другом месте кода, и он прекрасно возвращает результаты.
Это мое отображение для первой таблицы:
<hibernate-mapping>
<class name="org.efs.openreports.objects.Table" table="table">
<id name="id" column="other_number" type="java.lang.Integer">
<generator class="native"/>
</id>
<property name="number" column="number" not-null="true" unique="true"/>
<property name="location" column="location" not-null="true" unique="true"/>
</class>
</hibernate-mapping>
и .java
public class Table implements Serializable
{
private Integer id;//panel_facility
private Integer number;
private String location;
public Table()
{
}
public void setId(Integer id)
{
this.id = id;
}
public Integer getId()
{
return id;
}
public void setNumber(Integer number)
{
this.number = number;
}
public Integer number()
{
return number;
}
public String location()
{
return location;
}
public void setLocation(String location)
{
this.location = location;
}
}
Есть предложения?
Редактировать (добавлено сопоставление)