1
我有table1,key_column爲主鍵。表2具有來自表1的key_column作爲外鍵。 table2與table1有多對一的關係。HIbernate多對一連接條件查詢
我想運行一個連接查詢。
Select table1.*, table2.* from table1, table2 where table2.id = ?
table2.some_column_other_than_key_column = ?
and table1.key_column = table2.key_column
<class name="tbl2class" table="tbl2" lazy="false">
<many-to-one name="tbl1class" column="key_column"
class="tbl1Class"
cascade="none" lazy="false" fetch="join" update="false" insert="true" />
</class>
List<tbl2Class> tbl2List= getSession().createCriteria(tbl2Class.class)
.add(Restrictions.eq("id", id))
.add(Restrictions.eq("tbl1.someColumnOtherThanKeyColumn", messageType))
.add(Restrictions.or(categoryRestriction, strategyRestriction))
.list();
我得到一個異常mentiontiong無法解析tbl1.someColumnOtherThanKeyColumn - 爲什麼 - 我在做什麼錯誤。
public class Tbl1Class
{
private Tbl2Class tbl2Class
}
'tbl1.someColumnOtherThanKeyColumn'我認爲這是不正確,你必須使用'對象names'不分貝 – nachokk
名稱可能是我沒能成功在我的例子中清楚,我正在使用對象名稱而不是表列名稱 – user238021