在spring mvc中选择spring hibernate中的查询
Posted
技术标签:
【中文标题】在spring mvc中选择spring hibernate中的查询【英文标题】:Select query in spring hibernate in spring mvc 【发布时间】:2014-07-11 09:36:27 【问题描述】:嗨,我正在编写一个 spring mvc,使用 mysql 数据库、hibernate 注释和 jsp 的员工应用程序。该数据库包含一个表“Empdata”,其中empid是主键。并且在“Empdata”中有一个列“team”。我想要选择特定团队中的员工,例如“Team1”中员工的所有详细信息。在这里我可以在应用程序中执行删除和编辑操作。对于删除操作,我正在使用
sessionfactory.getCurrentSession().createQuery("DELETE FROM Resource WHERE empid=" +resource.getEmpId()).executeUpdate();
query.我知道 select 的命令行查询是
SELECT * FROM EmpData WHERE EMPLTEAM ="Team1"
我想知道如何将此查询转换为休眠?
请帮忙,提前谢谢..
【问题讨论】:
检查休眠查询语言 【参考方案1】:Query query = session.createQuery("from Resource where emplteam = :team");
query.setParameter("team", "Team1");
List list = query.list();
emplteam
应该是您的类 Resource 的属性,而不是您的数据库列的名称。
【讨论】:
【参考方案2】:我想使用 HQL 很简单。
String hql = "FROM Resource E WHERE E.emplteam = team1";
Query query = session.createQuery(hql);
List results = query.list();
希望对你有帮助
注意: SELECT 、 FROM 和 WHERE 等关键字不区分大小写,但 HQL 中的表名和列名等属性区分大小写。
【讨论】:
【参考方案3】:您是否尝试过使用标准 api?
Criteria crit = sessionFactory.getCurrentSession()
.createCriteria(EmpData.class).add(Restrictions.eq("EMPLTEAM", "teamxxx");
List<EmpData> result = crit.list();
【讨论】:
【参考方案4】:例如
Query query = session.createQuery("from Student where name=:name");
query.setParameter("name", "Raj");
在您的情况下,我猜实体名称是 Empdata(代表表的对象) 并且对象中的字段是团队(对象中有getter和setter)
Query query = session.createQuery("from Empdata where team=:teamParam");
query.setParameter("teamParam", "team1");
【讨论】:
以上是关于在spring mvc中选择spring hibernate中的查询的主要内容,如果未能解决你的问题,请参考以下文章
环境配置——IDEA搭建maven+spring mvc开发环境