1、describe不能做mysql的列名。使用Hibernate+mysql的时候注意!
2、在事务提交的时候报java.lang.NullPointerException "空指针错误。
错误调试跟踪,在事务提交之前能够正常的getter/setter没有问题,在事务提交中仍会去调用setter,这个时候就Customer 对象被清空。就会报NullPointerException "空指针错误。这是为什么?
public void setCustomer(Set<Customer> customer) {
Set<Customer> setCustomer = new HashSet<Customer>();
if(customer!=null){
Iterator<Customer> it =customer.iterator() ;
while(it.hasNext()){
Customer cu = it.next();
String cnamec = cu.getContactName().trim();
String phone = cu.getPhone().trim();
String uname = cu.getUnitName();
if(cnamec.length()!=0||phone.length()!=0||uname.length()!=0){
setCustomer.add(cu);
}
}
this.customer = setCustomer;
}else{
this.customer = customer;
}
}
分享到:
相关推荐
**Hibernate事务操作**: 1. 事务是一系列数据库操作的集合,具有ACID特性(原子性、一致性、隔离性、持久性)。 2. 脏读、不可重复读、幻读是事务隔离级别不足可能导致的问题。 3. Hibernate提供了事务管理的代码...
在本案例中,你会看到如何在MyEclipse和Eclipse两个集成开发环境中配置和使用Hibernate。这两个IDE都是Java开发者常用的工具,它们提供了丰富的功能,包括项目管理、代码编辑、调试以及对各种框架的支持。 首先,你...
编程式事务管理使用`Session.beginTransaction()`开始事务,`transaction.commit()`提交事务,`transaction.rollback()`回滚事务。声明式事务管理则通过Spring等框架实现。 7. 缓存机制: Hibernate提供了第一级...
Hibernate的入门学习主要包括理解这些基本概念和操作,后续深入学习则会涉及到复杂映射、事务处理、性能优化和缓存管理等高级话题。随着不断实践和学习,开发者可以充分利用Hibernate框架提供的各种特性,编写更加...
- Hibernate支持JTA(Java Transaction API)和JDBC事务,通过Transaction接口管理事务的开始、提交和回滚。 8. 缓存机制 - Hibernate提供了一级缓存(Session级别的)和二级缓存(SessionFactory级别的)。一级...
5. **事务处理**:Hibernate支持JTA(Java Transaction API)和JTAS(JDBC Transaction API),通过Session的beginTransaction和commit/rollback方法管理事务。 6. **缓存机制**:一级缓存是Session级别的,自动...
6. **提交Transaction**:在所有操作完成后,提交事务以保存更改到数据库。如果出现异常,需要回滚事务以保持数据一致性。 7. **关闭Session**:在事务结束后,关闭Session以释放资源。 ### 示例应用 在这个名为...
- 提交事务,关闭Session 对于proxool的整合,我们需要在hibernate.cfg.xml中添加proxool的相关配置,如pool_size、driver_name等,并确保正确配置了数据库连接参数。 总结来说,"hibernate 简单测试"涵盖了...
5. 提交事务:`session.getTransaction().commit()`提交事务,确保数据持久化。 6. 关闭资源:记得关闭Session和SessionFactory,防止资源泄露。 六、应用示例 以下是一个简单的Hibernate应用示例,假设我们有一个`...
8. 提交事务,关闭Session和SessionFactory。 通过这个简单的例子,初学者可以了解Hibernate的基本使用流程,包括实体类的定义、配置文件的编写、会话工厂和会话的使用,以及CRUD操作的实现。在实际项目中,还需要...
通过`Session.beginTransaction()`开启事务,然后进行数据库操作,最后使用`transaction.commit()`提交事务。 ### 八、实际应用 在`MyHibernateTest`项目中,你可以看到如何创建SessionFactory,打开Session,执行...
通常使用Transaction对象进行控制,开始事务、提交事务或回滚事务。 九、服务层与控制层 Service层封装了业务逻辑,如添加图书、查找图书等,由Controller层负责接收前端请求,调用Service层的方法,然后返回响应。...
在Servlet中,通常在开始操作前开启事务,结束后提交或回滚事务。 8. **缓存**:Hibernate提供了二级缓存机制,可以提高数据读取速度。如果需要,可以配置缓存插件,如Ehcache。 9. **结果集处理**:查询结果通常...
- **更新(Update)**: 如果对象已经是持久化状态,修改对象后调用`Session.update()`会更新数据库中的记录。 - **删除(Delete)**: `Session.delete()`方法用来删除持久化对象,对应数据库中的记录也会被删除。 - ...
3. **更新(Update)**:修改对象的属性后,调用`update()`方法提交更改。 ```java student.setName("Jane"); session.update(student); ``` 4. **删除(Delete)**:使用`delete()`方法删除对象。 ```java ...
3. 更新(Update):调用对象的setter方法修改属性后,使用Session的update()方法。 4. 删除(Delete):调用Session的delete()方法。 七、事务处理 在数据操作前后,需要进行事务的开启和提交。例如: ```java ...
【Struts+Hibernate+Spring】整合是企业级Java应用中常见的技术栈,它结合了Struts的MVC架构、Hibernate的持久层管理和Spring的依赖注入及事务管理。下面将详细解释这一整合的关键知识点。 首先,集成环境配置是...
通常会使用`hibernate-validator`拦截器来进行数据校验,以及`transaction`拦截器来处理事务。 2. 将Hibernate的Session对象传递给Action,这可以通过Spring框架的依赖注入来实现,或者使用ActionSupport类的`...
2. **Action类**:在Struts中,Action类是处理用户请求的核心,它会调用Service层的方法并返回结果到视图。 3. **Service层**:这部分代码包含业务逻辑,Spring可能通过接口和实现类来管理Service。例如,`...