`

Hibernate中存取数据 - 中的Set问题

阅读更多

环境:jboss-portal + jsp + Hibernate + MySQL。

下面的代码貌似对我有所帮助,现在问题聚焦在xml配置文件中使用定义<one- to many>的Set,
Set set = getSubSubjects();
只要在jsp中使用到set就会报错,而且jboss中的控制台显示是由于jasperExeption引起的,没有显示Hibernate的错误信息。

我和下面代码的不同之处是级联的设置:cascade= "delete - all -dophin" !

也许问题就是出在这里,下午过去测试一下便知了。

------------------------------------------------------------

Node对象中包含以下两个属性,
 

private  Node parent;  // 父对象
private  Set children  =   new  HashSet();  // 孩子集合

其对应的配置文件如下:

 1 < many-to-one
 2              name ="parent"
 3             class ="com.norteksoft.bom.model.Node"
 4             cascade ="none"
 5             outer-join ="auto"
 6             column ="FK_NODE_ID"
 7          />
 8
 9          < set
10              name ="children"
11             lazy ="true"
12             cascade ="all"
13             sort ="unsorted"
14          >
15
16                < key
17                    column ="FK_NODE_ID"
18                >
19                </ key >
20
21                < one-to-many
22                    class ="com.norteksoft.bom.model.Node"
23                />
24
25          </ set >
26
27





      下面是如何使用的代码,当然会用到递归:

 

 1   /**
 2    * 查询所有孩子节点
 3    * @param node Node
 4    * @param list List
 5    * @return List
 6    */
 7   public List findAllChildrenNodes(Node node, List list) {
 8     if (node.getChildren().size() == 0) {
 9       return list;
10     } else {
11       for (Iterator it = node.getChildren().iterator(); it.hasNext(); ) {
12         Node theNode = (Node) it.next();
13         list.add(theNode);
14         findAllChildrenNodes(theNode, list);
15       }
16
17       return list;
18     }
19   }
20
21


分享到:
评论

相关推荐

    hibernate中文文档 HTML格式

    它使用面向对象的方式处理数据库操作,提供了一种更加灵活和高效的数据存取方式。 二、Hibernate核心概念 1. 实体(Entity):在Hibernate中,实体是Java类,它们代表数据库中的表。通过在实体类上使用`@Entity`...

    hibernate-mapping

    Hibernate Mapping是Java领域中一种重要的对象关系映射(ORM)技术,它使得开发者可以使用面向对象的方式来操作数据库,极大地简化了数据存取的操作。在Hibernate中,mapping文件是连接Java类和数据库表的关键,它...

    hibernate--1.搭建hibernate环境

    在IT行业中,Hibernate是一个非常重要的Java持久化框架,它简化了数据库操作,使得开发者能够更加专注于业务逻辑,而不是底层的数据存取细节。本教程将详细讲解如何搭建Hibernate开发环境,以便进行高效、便捷的...

    hibernate存取json数据的代码分析

    标题中的“hibernate存取json数据的代码分析”指的是在Java开发中,使用Hibernate框架来存储和检索JSON格式的数据。Hibernate是一个强大的ORM(对象关系映射)框架,它允许开发者将Java对象直接映射到数据库表,但在...

    Hibernate中文参考文档V3.2(HTML)

    Hibernate是Java开发领域中广泛采用的工具,它允许程序员以面向对象的方式处理数据库操作,极大地简化了数据存取层的工作。以下是对该文档主要知识点的详细解析: 1. **Hibernate简介**:Hibernate是一个开源的ORM...

    Hibernate入门项目(环境搭建、配置及实现简单数据库存取)

    在本文中,我们将探讨如何搭建Hibernate环境,进行配置,并实现对数据库的简单存取。Hibernate是一款强大的Java对象关系映射(ORM)框架,它简化了数据库操作,使得开发人员可以使用面向对象的方式处理数据。下面,...

    Hibernate中文API

    1.2. 第一部分 - 第一个Hibernate应用程序 首先我们将创建一个简单的基于控制台的(console-based)Hibernate应用程序。由于我们使用Java数据库(HSQL DB),所以不必安装任何数据库服务器。 假设我们希望有一个小...

    hibernate 中文帮助文档 api

    Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了Java应用中的数据存取操作。本中文帮助文档API主要针对Hibernate 3.2版本,为开发者提供了详尽的指导和...

    Hibernate锁机制_悲观锁和乐观锁

    乐观锁是一种乐观的认为资料的存取很少发生同时存取的问题,不作数据库层次上的锁定,而是通过应用程序上的逻辑实现版本控制的方法来维护正确的数据。 在 Hibernate 中,乐观锁的实现方式是通过版本号检查来实现。 ...

    Hibernate示例

    在本示例中,我们将探讨如何使用 Hibernate 进行基本的数据存取操作。 **环境准备** 在开始 Hibernate 示例之前,我们需要确保以下组件已经准备就绪: 1. JDK:确保安装了 Java 开发环境,并设置好 `JAVA_HOME` ...

    HIbernate基础知识积累

    Hibernate是一个强大的Java持久化框架,它简化了数据库操作,使得开发者能够更加专注于业务逻辑,而不是底层的数据存取细节。本篇将深入探讨Hibernate的核心概念、配置、对象关系映射(ORM)以及常见操作。 1. **...

    Hibernate学习代码示例

    JDBC(Java Database Connectivity)是Java语言访问数据库的标准API,通过JDBC,开发者可以直接执行SQL语句来存取数据。然而,JDBC的代码通常繁琐且容易出错,而Hibernate则通过提供面向对象的接口,使得数据库操作...

    初识hibernate

    Hibernate是一个强大的Java持久化框架,它简化了数据库操作,使得开发者能够更加专注于业务逻辑,而不是繁琐的数据存取代码。本篇将深入浅出地介绍Hibernate的核心概念和基本用法。 1. 持久化框架概述: 在Java应用...

    Hibernate一对多教学

    在Java世界中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑,而不是底层的数据存取。本教程主要聚焦于Hibernate中的一对多关系映射,这对于理解复杂的数据库交互至...

    hibernate3.6.jar

    Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发者使用面向对象的编程模型来操作数据库,从而简化了Java应用程序中的数据存取工作。在Java应用开发中,Hibernate 提供了一个强大的工具集,用于管理和...

    最新的hibernate3.6.0jar包

    Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发者使用面向对象的编程模型来操作数据库,从而简化了Java应用程序中的数据存取工作。在Java世界中,Hibernate 已经成为了开发人员处理数据库交互的标准...

    Java应用中使用Hibernate.pdf

    Hibernate的核心理念是“Let Java objects hibernate in the relational database”,即让Java对象能够在关系数据库中“冬眠”,这意味着它能够将Java对象的实例与数据库中的记录进行映射,从而简化数据存取的过程。...

    hibernate基础教程附带光盘源码

    Hibernate提供了多种关系映射方式,如集合映射(List、Set、Map等)、单向关联、双向关联、联合主键等,以适应复杂的数据模型。 10. **事务处理** Hibernate提供了JTA和JDBC两种事务处理方式,确保了数据操作的...

    基于Struts2和Hibernate的简单学生选课系统

    在本系统中,Hibernate被用来处理数据的存取,简化了数据库操作。系统中的一对多和多对多关联映射是Hibernate的核心特性之一。 #### 1. 一对多关联 在选课系统中,可能存在的一个例子是一对多关联,如“课程”与...

    Struts,Spring,Hibernate三大框架的面试[参照].pdf

    - **延迟加载**:Hibernate通过延迟加载技术节省内存,数据只有在实际使用时才会加载到内存中。 - **类间关系**:通过配置文件中的many-to-one、one-to-many、many-to-many等映射关系实现类之间的关联。 2. **...

Global site tag (gtag.js) - Google Analytics