gpt4 book ai didi

java - 将 MySQL 查询转换为 Hibernate Criteria

转载 作者:行者123 更新时间:2023-11-29 13:48:34 25 4
gpt4 key购买 nike

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"))

最佳答案

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)里,你有这样的事情

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()方法才能正常工作

关于java - 将 MySQL 查询转换为 Hibernate Criteria,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17055874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com