首页 > 编程笔记 > Java笔记 阅读:514

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

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

语法1

addEntity(Class 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)

参数说明:
返回值: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)

参数说明:
返回值: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());
}
参数说明:
返回值: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();

编程帮,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注

所有教程

优秀文章