主キーとして key_column を持つ table1 があります。Table2 には、table1 の key_column が外部キーとして含まれています。table2 は table1 に対して多対 1 の関係を持っています。
結合クエリを実行したい。
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();
tbl1.someColumnOtherThanKeyColumn を解決できませんでした - なぜ - 何を間違っているのでしょうか。
public class Tbl1Class
{
private Tbl2Class tbl2Class
}