0
SELECT * FROM test.pchi new INNER JOIN rlhi old ON new_id = old.menu_id where new.name='?'

に似ている:

Select * from db.employee emp INNER JOIN db.table on emp_tableID = table.id where emp.name = '?'

投影の方法を教えていただければ、それは素晴らしいことです...次のように:

Select emp.name, emp.sex, table.brand from ....

fetch を使用してみましたが、これは初めてで、奇妙なエラーが発生し続けます。誰かがこれを行う方法を示してもらえますか?

これはどう?

sess.createCriteria(pchi.class)/**/
              .setFetchMode("rlhi", FetchMode.JOIN)
              .add(Restrictions.eq("new_id", "rlhi.menu_id"))
              .add(Restrictions.eq("name", "SOME INPUT"))
4

1 に答える 1

1
sess.createCriteria(Pchi.class)
              .setFetchMode("rlhi", FetchMode.JOIN) //note that rlh1 is the property name in Pchi class
              .add(Restrictions.eq("name", "SOME INPUT"));

あなたのクラスでは、このようなものがあります

class Pchi{
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="new_id", referencedColumnName="menu_id")
private Rlhi rlhi;
}

class Rlhi{
@OneToMany(mappedBy="rlhi")
private <Set> Pchi pchis;
}

SET: オーバーライドequals()とメソッドを使用する場合は、hashCode()適切に機能する必要があります

于 2013-06-12T00:51:12.853 に答える