任何人都可以告诉我Hibernate之间的区别:
createCriteriacreateQuerycreateSQLQuery任何人都可以告诉我这三个函数返回什么数据,cq指导我一个正确而简单的链接来研究这些Hibernate函数?
Ram*_*tha 39
要在Hibernate ORM框架中创建查询,有三种不同的类型.以下是创建查询实例的三种方法:
session.createQuery()session.createSQLQuery()session.createCriteria()详细了解每个类别的详细信息.
Session.createQuery()
Run Code Online (Sandbox Code Playgroud)
createQuery()方法使用HQL语法创建Query对象.例如:
Query query = session.createQuery("from Student s where s.name like 'k%'");
Run Code Online (Sandbox Code Playgroud)
Session.createSQLQuery()
Run Code Online (Sandbox Code Playgroud)
createSQLQuery()方法使用本机SQL语法创建Query对象.例如:
Query query = session.createSQLQuery("Select * from Student");
Run Code Online (Sandbox Code Playgroud)
Session.createCriteria()
Run Code Online (Sandbox Code Playgroud)
createCriteria()方法创建Criteria对象以设置查询参数.对于那些不想编写查询的人来说,这是一个更有用的功能.您可以使用Criteria API指定任何类型的复杂语法.
Criteria criteria = session.createCriteria(Student.class);
Run Code Online (Sandbox Code Playgroud)
1. session.createQuery()-> Can create query using HQL and can perform CRUD Operations
Run Code Online (Sandbox Code Playgroud)
例:
Query query = session.createQuery("from Student");
List list=quey.list();
Query query = session.createQuery("update Student where studentid=9");
int result=query.executeUpdate();
Query query = session.createQuery("delete Student where studentid="+ studentId);
int result=query.executeUpdate();
Query query = session.createQuery("insert into Student where studentid="+ studentId);
int result=query.executeUpdate();
Run Code Online (Sandbox Code Playgroud)
------------------------
PERSON
------------------------
**DB_Column**| **POJO**
PERSON_ID | personID
------------------------
Run Code Online (Sandbox Code Playgroud)
创建查询()
您正在使用 pojo 字段。使用 HQL 语法。
Query query = session.createQuery("from Person s where s.personID like 'A%'");
// returns:
List<Person> persons = query.list();
Run Code Online (Sandbox Code Playgroud)
创建SQL查询()
您正在使用 Native|DB 字段。在谷歌搜索一些网站后,我发现这也会清除缓存,因为休眠不知道你执行了什么。
Query query = session.createSQLQuery("select s.* from Person s where s.person_ID like 'A%'");
// returns:
List<Object[]> persons = query.list();.
Run Code Online (Sandbox Code Playgroud)
创建条件()
只读查询
Criteria criteria = session.createCriteria(Person.class);
criteria.add(Restrictions.like("personId", "A%"));
List<Person> persons = criteria .list();
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
36409 次 |
| 最近记录: |