Hibernate addEntity方法:将别名和实体类联系

addEntity 方法用于将 SQL 表的别名和实体类联系起来,并确定查询结果集的形态。

语法1

addEntity(Class entityClass)

参数说明:

  • entityClass:用于指定实体类。

返回值:SQLQuery 对象的示例。

示例

通过本地 SQL 查询,查询全部的用户信息,关键代码如下:

Session session = sessionFactory.openSession();  //定义Sesssion对象
String sql = "select*from tb_user";  //定义查询tb_user表对象
List list = null;
List rtnList = new ArrayList();  //定义保存查询结果的List对象
try{
  SQLQuery query = session.createSQLQuery(sql);
  query.addEntity(UserForm.class);  //绑定实体类
  list = query.list();  //执行查询语句获取查询结果集
}catch(Exception e){
  System.out.println("查询用户信息时的错误信息:"+e.getMessage());
}

在上面的代码中,如果不应用 addEntity 方法也可实现 SQL 查询,但返回的结果集对象为 Object 数组。

语法2

addEntity(String alias,Class entityClass)

参数说明:

  • alias:用于为实体类指定别名。
  • entityClass:用于指定实体类。

返回值:SQLQuery 对象的示例。

示例

通过本地 SQL 查询,查询用户名为 wgh 的用户信息,此时指定实体类的别名为 u,关键代码如下:

Session session=sessionFactory.openSession();  //定义Session对象
String sql = "select{u.*}from tb_user u where u.username='wgh'";  //定义查询语句
List list = null;
List rtnList = new ArrayList();  //定义保存查询结果的集合对象
try{
  SQLQuery query = session.createSQLQuery(sql);  //执行查询语句
  query.addEntity("u",UserForm.class);  //绑定数据表与实体类
  list = query.list();//执行查询语句
}catch(Exception e){
  System.out.println("查询用户信息时的错误信息:"+e.getMessage());
}

语法3

addEntity(String entityName)

参数说明:

  • entityName:为表示实体类的字符串(这里需要指定对应的包)。

返回值:SQLQuery 对象的示例。

示例

通过本地 SQL 查询,查询用户名为 sk 的用户信息,关键代码如下:

Session session = sessionFactory.openSession();  //创建Session对象
String sql = "select*from tb_user where username='sk'";  //定义查询语句
List list = null;
List rtnList = new ArrayList();  //定义保存查询结果的集合对象
try{
  SQLQuery query = session.createSQLQuery(sql);
  query.addEntity("com.model.UserForm");  //绑定实体类
  list = query.list();
}catch(Exception e){
  System.out.println("查询用户信息时的错误信息:"+e.getMessage());
}

参数说明:

  • alias:用于为实体类指定别名。
  • entityName:表示实体类的字符串(这里需要指定对应的包)。

返回值:SQLQuery 对象的示例。

示例

通过本地 SQL 查询,查询用户名为 wgh 的用户信息,关键代码如下:

Session session = sessionFactory.openSession();  //定义Session对象
String sql = "select{u.*}from tb_user u where u.username='wgh'";  //定义查询语句
SQLQuery query = session.createSQLQuery(sql);  //执行查询
query.addEntity("u","com.model.UserForm");  //绑定参数
List list = query.list();

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/22936.html

(0)
上一篇 2021年7月20日
下一篇 2021年7月20日

相关推荐

发表回复

登录后才能评论