【问题标题】:Select query in hibernate annotations in spring mvc在spring mvc的hibernate注释中选择查询
【发布时间】:2014-07-11 04:17:27
【问题描述】:

嗨,我正在编写一个 spring mvc,使用 mysql 数据库、hibernate 注释和 jsp 的员工应用程序。该数据库包含一个表“Empdata”,其中empid是主键。并且在“Empdata”中有一个列“team”。我想要选择特定团队中的员工,例如“Team1”中员工的所有详细信息。在这里我可以在应用程序中执行删除和编辑操作。对于删除操作,我正在使用

sessionfactory.getCurrentSession().createQuery("DELETE FROM Resource WHERE empid=" +resource.getEmpId()).executeUpdate();

查询。我知道 select 的命令行查询是

SELECT * FROM EmpData ERE EMPLTEAM ="Team1"

我想知道如何将此查询转换为休眠状态。

请帮忙,提前谢谢..

【问题讨论】:

    标签: mysql hibernate jakarta-ee spring-mvc


    【解决方案1】:

    例如

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

    【讨论】:

      【解决方案2】:

      您可以通过以下方式转换查询:

      String sql = "select ed from EmpData ed where emplTeam = :emplTeam";
      
      Query query = session.createQuery(sql);
      
      query.setParameter("emplTeam ", team);
      
      List<EmpData> empDataList = (List<EmpData>)query.list();
      

      但您应该有一个名为 EmpData 的类,其中包含类似于以下内容的属性 emplTeam:

      @Entity
      @Table(name = "EmpData")
      class EmpData {
      
          ....
      
          @Column(name = "EMPLTEAM")
          private String emplTeam;
      
          public String getEmplTeam() {
              return emplTeam;
          }
      
          public void setEmplTeam(String emplTeam) {
              this.emplTeam = emplTeam;
          }
      }
      

      (我使用注解 hibernate .. 但您可以使用相同的方式使用 .hbm.xml 文件)

      【讨论】:

        猜你喜欢
        • 2014-07-11
        • 1970-01-01
        • 2018-02-08
        • 1970-01-01
        • 2013-10-17
        • 2015-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多