在项目中数据库中账单Bill一个字段是有多个订单id的以逗号分隔的字符串,DAO采用HQL查询出来之后,获取订单的id集合,本人开始认为hibernate从数据库加载到模型中,会调用setXXX()方法,在setXXX中进行相应的,字符串分隔,但是我的想法错误,使用Struts2.0 在页面OGNL获取获取不到分隔后订单id集合数据。本人甚为郁闷。甚至在debug模式下在setXXX打了断点,调试,果然不执行。没有方法,在Bill中添加一个方法,每次调用此方法获取集合,居然可以获取数据。本人不解。
在网上查看一下文档。
网上有人说:
Hibernate 既可以访问Field也可以访问Property,访问Property是只是调用getXXX()、setXXX()方法,因此在from Customer where c.name=’Tom’ HQL中,name属性不需要存在,只要getName()存在就可以了。
本人多次实践发现:
hibernate从数据库加载数据到Model时不调用相应setXXX方法,仅仅调用相应的属性.难道在Model中private属性,使用反射强制访问了吗,也只有这种情况下,相应的setXXX方法不会执行,(这种通过反射强制赋值的手段可能在某些情况很使用) 难道真是这样吗?希望牛人指点,不要拍砖,更希望各位朋友交流心得。
分享到:
相关推荐
在Java开发领域,Hibernate是一个非常流行的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式处理数据库操作。本文将深入探讨如何利用Hibernate的映射文件来生成数据库,以此提高开发效率并减少手动创建...
- 在Spring或`hibernate.cfg.xml`配置文件中,可以使用宏定义或者条件注解来根据数据库类型加载不同的映射文件。这样,不同的数据库环境只需配置相应的连接参数,而无需修改核心的配置文件。 4. **大字段处理** -...
这样,Hibernate只会从数据库中获取第11到第20条记录,而不是所有的数据。 在使用这些方法之前,我们需要创建一个HQL(Hibernate Query Language)查询,或者使用Criteria API来定义我们的查询条件。HQL是Hibernate...
1. **单个对象加载(Single Entity Loading)**:通过`Session.get()`或`Session.load()`方法加载单个对象,前者会立即从数据库中取数据,后者创建代理对象,数据在第一次访问时加载。 2. **集合加载(Collection ...
ORM是将数据库中的表格数据映射到面向对象模型的一种技术。它允许开发者使用面向对象的方式来处理数据库,提高了开发效率和代码的可维护性。Hibernate作为ORM框架的代表,通过配置文件(hibernate.cfg.xml)和映射...
Hibernate 是一个强大的Java对象关系映射(ORM)框架,它为开发者提供了在Java应用程序中操作数据库的强大工具。通过使用Hibernate,开发者可以避免编写大量的SQL语句,而是专注于业务逻辑,提高了开发效率。这篇...
使用Hibernate自动建表功能,可以快速地将设计的实体模型转化为实际的数据库结构,对于快速开发和原型验证非常有帮助。同时,也要注意,虽然自动建表方便,但在生产环境中应谨慎使用,以防止数据丢失。
总的来说,理解Hibernate的加载方式和多态加载对于优化数据库操作和提高代码的灵活性至关重要。开发者需要根据具体需求选择合适的加载策略,并确保数据库设计和映射文件的正确性,以充分利用Hibernate的多态加载功能...
- **概念**:ORM是一种编程技术,用于将关系型数据库中的数据映射到对象模型上。在Hibernate中,通过定义实体类和配置文件,可以轻松地实现这一过程。 - **优势**:降低了数据库操作的复杂度,提高了开发效率;同时...
本篇文章主要关注的是如何在Hibernate 3.0版本中,通过它提供的工具自动生成POJO(Plain Old Java Object)类,这些类可以直接映射到数据库表,实现数据的存取。 1. **什么是POJO类**: POJO类是Java中简单、无...
- 数据库模型:了解关系型数据库的基本原理,如ER模型、表设计和SQL语言。 - SQL查询:掌握SELECT、INSERT、UPDATE、DELETE等基本操作,以及JOIN、子查询等高级技巧。 - 数据库事务和并发控制:理解ACID属性,...
Hibernate 支持单表继承、联合继承和表-per-hierarchy 策略,将继承层次结构映射到数据库的不同方式。 ### 4. 关联映射 讨论了 Hibernate 如何处理一对一、一对多、多对一和多对多的关系映射,包括懒加载、级联...
Hibernate不仅负责将Java对象映射到关系数据库中,还能够处理应用程序中的数据持久化需求。 标题“hibernate中文参考文档”意味着该文档是一份面向中文用户的Hibernate框架的参考资料,旨在为开发者提供详细的技术...
通过Struts2与Hibernate框架的结合,开发者可以构建稳定高效的Web应用,特别是在涉及到需要存储和展示二进制大对象(BLOB)数据的场景中,这种集成方案能够充分发挥各自框架的优势,简化数据库操作,提升开发效率和...
Hibernate通过实体类、持久化映射文件(如.hbm.xml)和SessionFactory,使得开发者可以使用面向对象的方式来操作数据库。在SSH集成中,Spring可以管理和调用Hibernate的SessionFactory,提供透明的事务管理。 在...
在实际开发中,首先要设计数据库模型,创建包含省份、城市和县(区)的表,并设置合适的关联关系。然后,使用Hibernate的映射文件或注解来定义这些表与Java对象的对应关系。接着,编写Java服务层代码,利用Hibernate...
### 基于Spring与Hibernate的数据库访问技术研究 #### 引言 在现代企业级应用开发中,数据持久层的设计至关重要,它涉及到如何高效、安全地存储和检索数据。随着互联网技术的发展,传统的两层架构(客户端/服务器...
Hibernate提供了一个在Java应用中使用的持久化模型,它允许开发者用面向对象的方式来操作数据库,而不是传统的SQL语句。通过ORM,Hibernate将Java对象映射到数据库表,这样就可以直接对Java对象进行CRUD(创建、读取...