在PL/SQL中执行SQL一下自连接语句:
select o.fullname_,p.fullname_ from fw_organization_view o left join fw_organization_view p on o.parentid_=p.id_ where o.id_=30004;
可以正常执行得到结果:当前组织全称,父组织全称
但在Hibernate中执行以上脚本
StringBuffer sql=new StringBuffer("select o.fullname_,p.fullname_ from fw_organization_view o left join fw_organization_view p on o.parentid_=p.id_ where o.id_=:id");
Query query = this.getSession().createSQLQuery(sql.toString());
query.setLong("id", id);
List<Object[]> list = query.list();
Object[] obj = list.get(0);
得到结果
obj[0]=当前组织全称
obj[1]=当前组织全称
解决方案:把父组织全称加上别名可以得到预期的效果
将代码修改为
StringBuffer sql=new StringBuffer("select o.fullname_,p.fullname_ as parentName from fw_organization_view o left join fw_organization_view p on o.parentid_=p.id_ where o.id_=:id");
Query query = this.getSession().createSQLQuery(sql.toString());
query.setLong("id", id);
List<Object[]> list = query.list();
Object[] obj = list.get(0);
这样得到结果为
obj[0]=当前组织全称
obj[1]=父组织全称
分享到:
相关推荐
### Hibernate + c3p0 连接池与 SQL Server 2000 的配置与问题解决 #### 一、背景介绍 在Java开发环境中,Hibernate作为一款流行的ORM框架,能够提供一套强大的对象-关系映射机制,使得开发者可以更加便捷地进行...
【标题】:“hibernate和spring技术难点及其要点总结” 【描述】:“hibernate和spring技术难点及其要点总结” 本文将深入探讨Hibernate和Spring框架在Java开发中的关键概念、应用场景以及技术难点。首先,我们来...
总结来说,Hibernate简化了Java与数据库的交互,而连接池则优化了数据库连接的管理,二级缓存进一步提升了数据访问的效率。理解和熟练掌握这些技术,能够帮助开发者构建更高效、稳定的Java应用程序。
2. **连接池**: Hibernate支持连接池技术,如C3P0或HikariCP,通过复用已打开的数据库连接,提高系统性能,避免频繁的连接创建和关闭。 3. **POJO(Plain Old Java Object)**: 在Hibernate中,POJO代表与数据库表...
总结来说,Hibernate连接池是提升数据库访问效率的关键,它提供了多种连接池的集成,包括C3P0、DBCP、HikariCP和Druid。开发者可以根据项目需求和性能指标,选择合适的连接池并进行精细配置,以优化数据库操作,提高...
本项目以"Struts+Hibernate+SQL Server 2005"的技术栈实现了一个简单的分页小项目,下面我们将详细探讨这个项目中的关键技术点。 **1. Struts框架** Struts是Apache组织下的一个开源MVC框架,主要用于构建Java Web...
为了更好地管理和优化数据库连接资源,Hibernate支持多种连接池技术,例如c3p0和Proxool等。本文将详细介绍如何在Hibernate中配置这些连接池,并解释相关配置项的作用。 #### 二、Hibernate默认连接池配置 默认...
**Hibernate开发各类项目的技术总结** Hibernate,作为Java领域的一个强大对象关系映射(ORM)框架,极大地简化了数据库操作,让开发者可以专注于业务逻辑而非繁琐的SQL语句。在我一年半的开发经验中,我逐渐积累了...
总结起来,"Hibernate3连接池示例"展示了如何利用Hibernate3和C3P0连接池实现高效的数据访问。这个示例代码演示了如何配置C3P0,设置数据源,以及如何在Java代码中使用这些配置进行数据库操作。通过这种方式,开发者...
### Hibernate知识点总结 #### 一、Hibernate概述 Hibernate是一个开源的ORM(Object Relational Mapping,对象关系映射)框架,用于Java应用与关系型数据库之间的交互。它通过使用描述对象和数据库之间映射的元...
### Hibernate框架技术总结 #### 一、概述 Hibernate是一个开源的对象关系映射(ORM)框架,它为Java应用提供了一种高效、灵活的方式来处理数据库交互。通过Hibernate,开发者可以使用面向对象的方式操作数据库,...
JPA和Hibernate都是Java持久化技术的重要组件。JPA提供了一些注解来描述实体Bean的持久化信息,而Hibernate是一个基于JPA规范的ORM框架。通过配置persistence.xml和hibernate.cfg.xml文件,可以实现数据库的持久化和...
总结起来,"Spring+Hibernate+Proxool连接池"的组合提供了一种高效、灵活的数据库访问方式。Spring负责整体的依赖注入和事务管理,Hibernate处理对象关系映射,而Proxool作为连接池,优化了数据库连接的创建和释放,...
总的来说,Hibernate 通过 O/R Mapping 技术简化了 Java 应用程序与关系数据库的交互,提供了自动持久化、配置灵活性和高度定制性。理解和熟练掌握 Hibernate,对于任何 Java 开发人员来说,都是提高生产力和项目...
### Java之Hibernate和Spring技术难点及其要点总结 #### Hibernate与Spring技术概述 在Java开发领域,Hibernate和Spring作为两个非常重要的框架,对于提高应用程序的开发效率、降低维护成本具有不可替代的作用。...
1.3 小结 1.4 思考题 第2章 Java对象持久化技术概述 2.1 直接通过JDBC API来持久化实体域对象 2.2 ORM简介 2.2.1 对象-关系映射的概念 2.2.2 ORM中间件的基本使用方法 2.2.3 常用的ORM中间件 2.3 ...
总结而言,这个项目展示了Java技术栈在电子商务领域的强大应用,通过整合Spring、Hibernate和SQL Server,构建了一个功能全面、运行稳定的网上购物商城。这样的系统设计有助于提升用户体验,同时为商家提供灵活的...
KingbaseV8是一款由中国金仓信息技术股份有限公司开发的数据库管理系统,它支持标准的SQL语法,具有高可用性、高安全性、高性能等特点,广泛应用于企业级数据管理。在Java开发环境中,与KingbaseV8数据库进行交互...
- **配置文件**:`hibernate.cfg.xml` 是Hibernate的主要配置文件,包含数据库连接信息、方言、缓存策略等设置。 - **映射文件**:`*.hbm.xml` 文件用于定义Java类与数据库表之间的映射关系。 ### Hibernate 基本...
首先,让我们了解JSP与SQL连接的基本原理。JSP是一种动态网页技术,它允许我们在HTML代码中嵌入Java代码,从而在服务器端处理数据。而SQL是用于管理关系型数据库的语言,我们通常使用它来执行查询、插入、更新和删除...