为了方便hibernate查询测试,可以直接使用SessionFactory进行创建连接,而不需要部署环境,在这记录一下:
package com.picshowsys.common;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class Test {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
SessionFactory sf = new Configuration()
.setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver")
.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect")
.setProperty("hibernate.connection.url", "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=latin1")
.setProperty("hibernate.connection.username", "root")
.setProperty("hibernate.connection.password", "root")
// .setProperty("hibernate.hbm2ddl.auto", "create")
// validate 加载hibernate时,验证创建数据库表结构
// create 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
// create-drop 加载hibernate时创建,退出是删除表结构
// update 加载hibernate自动更新数据库结构
.addAnnotatedClass(Order.class)
.addAnnotatedClass(Item.class)
.buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
List<Order> result = session.createQuery("from Order").list();
for(Order order : result){
List<Item> items = session.createFilter(order.getItems(), "where this.price > 100").list();
order.setItems(items);
}
for(Order order : result){
System.out.println(order.getItems().size());
}
session.getTransaction().commit();
System.out.println("done...");
}
}
分享到:
相关推荐
Hibernate Envers项目旨在为持久化类提供简便的审计功能。用户只需在希望审计的持久化类或其属性上标注`@Audited`注解即可。对于每个被审计的实体,会创建一个表来记录该实体的历史变更记录。用户可以轻松地检索和...
5. **Spring JDBC 模块与 Hibernate 结合**:Spring 可以管理 Hibernate Session,提供事务封装,使得在 Spring 的环境下使用 Hibernate 更加简便。 6. **Hibernate Interceptor**:可以自定义拦截器,实现对 ...
总结来说,Hibernate为Java开发者提供了与SQLServer数据库交互的简便方式,减少了对SQL的直接操作。通过配置、实体类映射、Session工厂和Session操作,我们可以实现对数据库的CRUD操作。在实际项目中,还需要考虑...
Spring以其强大的依赖注入和AOP(面向切面编程)能力,而Hibernate则作为优秀的ORM(对象关系映射)框架,使得数据库操作更为简便。本文将深入探讨Spring整合Hibernate的相关知识点,适合初学者入门。 首先,我们...
Spring还包含了丰富的模块,如数据访问/集成、Web、测试等,可以方便地与Hibernate等ORM框架集成,实现数据持久化。在本项目中,Spring可能被用来管理事务、处理服务层逻辑以及控制流程。 Hibernate是一个强大的...
2. 学习成本:理解和优化Hibernate的查询性能需要一定的学习和实践。 3. 与数据库脱耦:虽然灵活,但可能使得数据库优化变得困难。 在实际开发中,SSH框架常常结合使用,以发挥各自的优势。Struts处理用户请求,...
在Hibernate中,可以利用存储过程实现分页查询,也可以使用Criteria API或HQL(Hibernate Query Language)配合Pageable接口实现。存储过程的方式更灵活,可以定制化实现分页逻辑,而Criteria API和HQL则更加简便,...
而Hibernate作为一款流行的ORM框架,不仅实现了JPA规范,还提供了许多额外的功能,使得数据库操作更加简便。在这个基于Hibernate 3.6的JPA实例中,我们将看到如何创建实体、配置数据源、定义映射、执行CRUD操作等...
Hibernate则是一个强大的ORM框架,它为Java开发者提供了一种将Java对象与数据库表之间进行映射的简便方式,消除了SQL的直接编写,使开发者能够以面向对象的方式来处理数据库操作。Hibernate支持多种数据库,包括...
Hibernate支持各种数据库,具有自动缓存、事务管理、对象查询语言(HQL)等功能,使得数据库操作更加简便。 **整合过程** 整合SSH涉及到的主要配置文件有`struts2-spring-plugin.xml`、`spring-context.xml`以及...
这样的集成使得开发人员可以利用Spring的IoC(Inversion of Control)和AOP能力,以及Hibernate对数据库的简便操作,同时,Struts2则负责处理HTTP请求和展示逻辑,实现了MVC模式的高效分工。这样的架构有助于提高...
Hibernate4.0.0版本引入了更高效的查询API,增强了对JPA的支持,以及对缓存机制的改进。 SSH整合是Java Web开发中常见的模式,主要目标是构建松耦合、高可测试性的企业级应用。在这个整合中,Struts2作为表现层,...
此外,Spring还提供了与各种持久层框架(如Hibernate)的集成,使得数据访问更为简便。 **Hibernate 3** 是一个强大的对象关系映射(ORM)框架,能够将数据库操作转换为对Java对象的操作。它简化了JDBC代码,提供了...
4. Hibernate:Hibernate是一个优秀的对象关系映射(ORM)框架,它为Java开发者提供了一种在关系数据库上操作对象的简便方式。在本项目中,Hibernate被用来管理数据库连接,将Java对象映射到数据库表,实现了数据库...
- **Hibernate**:主要负责持久层(Data Access Object,DAO),提供了一种ORM(Object Relational Mapping)解决方案,使得对数据库的操作更加简便。 #### 二、使用IoC进行整合 **IoC(Inversion of Control,...
Hibernate支持多种数据库,提供了丰富的API和XML配置,使得数据库操作更加简便。 当Spring、Struts和Hibernate整合在一起时,通常会采用Spring作为核心容器,管理所有组件,包括Struts的Action和Hibernate的...
它还集成了其他框架,如Hibernate和Spring,使得数据持久化和业务逻辑的处理更加简便。 SSH2的集成主要体现在以下几个方面: 1. **Spring管理Hibernate Session**:Spring通过其DataSource和SessionFactoryBean...
接下来,Hibernate是一个流行的Java ORM(对象关系映射)框架,它提供了一种在Java应用中操作数据库的简便方式,避免了传统的JDBC编程的复杂性。Hibernate通过映射Java对象到数据库表,实现了对象的透明化持久化,...
在本考试系统中,Hibernate用于管理试题、考生、成绩等实体对象,使得数据操作更加简便高效。 最后,Oracle数据库是全球领先的数据库管理系统,尤其适合大型企业级应用。在本系统中,Oracle存储了所有的考试数据,...
SpringMVC与Spring核心框架无缝集成,使得业务逻辑的处理更为简便。 **Maven** 是一个项目管理和综合工具,它定义了一种标准的方式来管理项目的构建、报告和文档。Maven通过依赖管理和项目信息管理,自动解决库依赖...