春天边边,今天被误导,在此记录在侧!
起因:接收一个用SpringSide开发的项目,今天在后台调用如下代码:
userGroup = userGroupDao.get(id);
其中:
public class UserGroupDao extends HibernateDao<UserGroup, Integer>
满心以为当如果从DB中没有检索到对应条件的记录则返回null,但是null后续的业务一直进不去。从google上的结果都说检索结果为空时get()返回null,load()返回一个代理对象,怎么我用起来结果就不对了呢?debug时发现userGroup中多了个handler属性,其余属性皆为null,对handler没有敏感,查来查去找不到问题原因,无奈直接查看引用的jar包,顿时天雷滚滚~~
请看jar中get()方法的定义:
public Object get(Serializable id) {
Assert.notNull(id, "id不能为空");
return getSession().load(entityClass, id);
}
什么get()\load(),一样货色!
哎,误人误人啊,特此记录!
分享到:
相关推荐
总的来说,SpringSide的Hibernate封装是面向实际开发需求的一套解决方案,它不仅简化了DAO层的编写,也提升了代码质量,降低了维护成本,是Spring和Hibernate集成项目中的一个优秀实践。对于开发者来说,理解并熟练...
在Hibernate中,一对一关联通常使用`@OneToOne`注解实现,它可以是单向或双向的。例如,一个用户对应一个唯一地址,可以这样配置: ```java @Entity public class User { @OneToOne(mappedBy = "user") private ...
- **DAO层:** Springside3中DAO层的实现主要依赖于Spring Data JPA或Hibernate的模板方法,如`HibernateDao, PK>`,这种模式提供了基本的增删改查功能,并且可以通过注解的方式自动注入。 - **示例代码:** ```...
Spring对各种ORM框架如Hibernate、JPA有很好的支持,SpringSide3会讲解如何利用Spring Data Access层,进行数据库操作,包括事务管理、JdbcTemplate、HibernateTemplate的使用方法。 六、Spring测试 测试是保证代码...
在本文中,我们将深入探讨springside3的核心特性、源码结构以及如何利用其jar包进行开发。 一、springside3核心特性 1. **模块化设计**:springside3遵循模块化设计原则,将项目拆分为多个独立的模块,如Core、...
1. **模块化设计**:SpringSide3-core的核心模块采用了模块化的结构,包括了Spring MVC、Hibernate、Quartz等常见框架的集成,使得开发者可以按需选择,避免了过度依赖,提升了项目的可维护性和灵活性。 2. **配置...
- **代码生成工具**:SpringSide3 提供了代码生成器,可快速生成常见的实体类、DAO、Service 和 Controller 代码,提高开发效率。 2. **SpringSide3 主要特性** - **Spring Boot 整合**:虽然 SpringSide3 发布时...
SpringSide3框架,SpringSide3框架SpringSide3框架SpringSide3框架
8. **设计模式**:在springside3-core-3.0.4的源码中,我们可以找到许多设计模式的应用,如工厂模式、单例模式、代理模式等,这些都是提升代码可读性和可维护性的重要手段。 9. **代码规范**:源码遵循了一套统一的...
springside3-core-3.2.2
springside3-extension-3.3.4.jar
springside3-core-3.3.4.jar
springside3-core-3.3.4.jar
3. **数据访问层**:支持多种ORM框架,如Hibernate和MyBatis,提供统一的DAO接口,降低了数据访问层的复杂性。 4. **RESTful API**:通过Spring MVC实现RESTful服务,方便前后端分离的开发模式。 四、使用场景与...
这是springside源包,导入可查看dao层源码
文档中还提到了SiteMesh3以及如何使用SiteMesh2进行菜单高亮处理。 在介绍完前端技术之后,文档深入到了后端部分。首先是介绍Spring Restful框架的章节,包括JAX-RS标准、Spring MVC以及如何在客户端使用Spring ...