`
wckjlu
  • 浏览: 15723 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

关于hibernate 生成器探讨

阅读更多
        对于hibernate生成器的选择,应该是使用hibernate的一个非常关键地方,在以前的一些小项目中,通常都是使用mysql数据库,所以,使用native,就可以啦,在使用过程中碰到的问题,好像也比较少,可是,我们现在要在oracle进行开发,其生成器标志,却不知道该如何选择了,我看用sequence的不少,但是,我不知道,是不是我们对每一个使用的表都需要,建一个sequence来绑定到这个表上呢,还是可以,多个表都使用同一个sequence,如果可以,会不会在开发过程中产生什么其它问题? 如果不用sequence用
assigned会不会比用sequence好呢? 不过我在网上,看到很多的关于使用assigned生成标志,然后使用
hibernate提供的save(),等的方法会出问题,这个问题是由什么产生的,该如何解决呢? 在oracle上是不是有是什么更好的方案可选择呢? 希望大家指点,谢谢!
分享到:
评论
7 楼 wckjlu 2006-12-11  
   多谢Readonly的指点了,我知道基本该如何实现了
6 楼 Readonly 2006-12-11  
wckjlu 写道
   
不是在使用hibernate时,必须要给他一个生成器标志(id),而这个id通常都是没有意义的,如果,现在有需求,不用id(也就是不给这个表分配这么一个字段),而用username作为表的唯一主键,或者没有任何主键,这样是不是说用hibernate就会出问题呢?

用户需求不可能要求到数据库设计这种地步吧,在Hibernate里面推荐任何表都给个逻辑主键。你说的问题给username这个栏位加上unique限制就行了。
5 楼 wckjlu 2006-12-11  
   
wckjlu 写道

    他的生成标志可以是有业务意义的字段吗?如果可以这样做会有其他问题吗?

偶不明白你在说什么...

   多谢指点!
    我学的很不牢靠,所以还有很过概念性的东西没有理解, 我想问的是,是不是在使用hibernate时,必须要给他一个生成器标志(id),而这个id通常都是没有意义的,如果,现在有需求,不用id(也就是不给这个表分配这么一个字段),而用username作为表的唯一主键,或者没有任何主键,这样是不是说用hibernate就会出问题呢?
   
4 楼 Readonly 2006-12-11  
wckjlu 写道

   按Readonly所说,也就是我可以让我的所有表都使用hibernate默认的sequence(hibernate_sequence),这样我在开发过程中应该不会出现其他问题吧(就是有很多个表都在使用这一个系列的时候),此处的hibernate_sequence,需要我在oracle中建这么一个序列吗?

如果设置了hibernate.hbm2ddl.auto属性,不需要手动建立序列,前提是你用的帐号必须有Create Sequence这种高级权限。
   
wckjlu 写道

    他的生成标志可以是有业务意义的字段吗?如果可以这样做会有其他问题吗?

偶不明白你在说什么...
3 楼 wckjlu 2006-12-11  
Readonly 写道
默认的sequence是使用hibernate_sequence这个公用的sequence,当然你也可以在hbm文件里面指定不同的表用不同的sequence name.

   按Readonly所说,也就是我可以让我的所有表都使用hibernate默认的sequence(hibernate_sequence),这样我在开发过程中应该不会出现其他问题吧(就是有很多个表都在使用这一个系列的时候),此处的hibernate_sequence,需要我在oracle中建这么一个序列吗?
   
    他的生成标志可以是有业务意义的字段吗?如果可以这样做会有其他问题吗?
     
2 楼 coolyzg 2006-12-11  
这是我用的hibernate_sequence
http://coolyzg.iteye.com/blog/24125
1 楼 Readonly 2006-12-11  
默认的sequence是使用hibernate_sequence这个公用的sequence,当然你也可以在hbm文件里面指定不同的表用不同的sequence name.

相关推荐

    代码自动生成工具 hibernate配置文件工具 MagicalTools

    本文将深入探讨一款名为“MagicalTools”的代码自动生成工具,特别关注其对Hibernate配置文件的支持,帮助读者理解如何利用此工具提升开发效率。 Hibernate作为Java领域中广泛使用的对象关系映射(ORM)框架,极大...

    hibernate自动生成数据库文件

    1. **Hibernate Tools**:这是一个用于增强Hibernate功能的工具集,它提供了包括反向工程、代码生成、JPA工具和HQL编辑器等多种功能。在本例中,`hibernate自动生成数据库文件.exe`可能是Hibernate Tools的一个实现...

    idea+hibernate生成.zip

    本篇文章将详细探讨如何在IntelliJ IDEA中利用Hibernate生成代码,以及如何使用这些生成的文件。 首先,我们需要理解Hibernate的核心概念。Hibernate是一个流行的Java ORM(对象关系映射)框架,它允许开发者用面向...

    hibernate映射文件生成数据库

    二、Hibernate生成数据库步骤 1. 创建实体类:首先,你需要定义Java实体类,这些类代表了数据库中的表。每个类对应一个数据库表,类的属性对应表的列。 2. 编写映射文件:对于每个实体类,编写相应的Hibernate映射...

    hibernate生成java,xml

    本篇文章将详细探讨两个与Hibernate相关的生成工具:hibernate-extensions和Middlegen。 首先,我们来看`hibernate-extensions`。这是一款扩展了Hibernate核心功能的库,其中包含了一个名为“Hibernate Tools”的...

    jpa代码自动生成工具-springboot

    本文将深入探讨如何使用JPA和Spring Boot结合,实现代码自动生成工具,提高开发效率。 首先,让我们了解JPA。JPA通过提供一套标准API,使得开发者无需关注底层SQL语句,而是通过定义实体类、注解以及Repository接口...

    HIbernate Jpa 生成entities

    标题“Hibernate JPA 生成entities”涉及到的是Java开发中的一个重要话题,主要关于如何利用Hibernate的Java Persistence API(JPA)来自动创建数据访问对象(DAOs),也称为实体(Entities)。这个过程通常被称为...

    hibernate tools 生成pojo

    这些工具包括了代码生成器、逆向工程、JPA支持以及IDE集成等,极大地简化了开发流程,特别是对于基于Hibernate的持久层模型对象(POJOs)的创建。 **二、生成POJO的重要性** 在Java应用中,POJO(Plain Old Java ...

    关于hibernate的批处理

    本文将深入探讨Hibernate的批处理策略及其在大数据场景下的应用。 **知识点**: 1. **批处理概念**: 批处理是指一次提交多个操作到数据库,而不是每次只处理一个。这减少了网络传输和数据库事务处理的开销,提高了...

    hibernate动态生成表结构

    本文将深入探讨如何利用Hibernate的特性来实现动态生成表结构,以及如何处理表与表之间的关系。 一、Hibernate概述 Hibernate是一个开源的Java库,它的主要功能是将Java类与数据库表进行映射,使得程序员可以使用...

    Hibernate映射文件主键的生成

    在Hibernate中,主键的生成可以通过编程方式、数据库内置机制或者特定的生成器来实现。接下来我们将逐一探讨这些策略: 1. **Identity策略**: 这种策略适用于支持自动增长主键的数据库,如MySQL的`AUTO_INCREMENT...

    java根据实体类生成Hibernate映射文件

    此外,对于大型项目,通常会使用代码生成工具(如MyBatis的MyBatis Generator或Hibernate的Hibernate Tools)来自动化这个过程,它们提供了更全面的功能和配置选项。 总的来说,通过编写Java程序自动根据实体类生成...

    hibernate自动生成dao,配置文件等的学习笔记,在myeclipse下实现

    在本教程中,我们将探讨如何在MyEclipse环境下利用Hibernate工具自动生成DAO(数据访问对象)、POJO(Plain Old Java Object)以及配置文件。 首先,我们需要确保MyEclipse已经集成了Hibernate支持。这可以通过右键...

    hibernate源码分析过程

    在本文中,我们将对 Hibernate 的源码进行深入分析,并探讨其核心特性和技术实现。 架构 Hibernate 的架构可以分为三层:Presentation Layer、Business Logic Layer 和 Data Access Layer。Presentation Layer ...

    hibernate 配置 实体生成

    本文将深入探讨Hibernate配置以及如何自动生成实体类。 1. Hibernate配置: Hibernate的配置主要通过`hibernate.cfg.xml`文件进行,这个文件包含了连接数据库所需的各项参数,如数据库URL、用户名、密码、驱动类等...

    关于HIBERNATE矿建

    《关于Hibernate矿建:深入理解Hibernate框架》 Hibernate,作为Java世界中一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作,使得开发者能够更专注于业务逻辑,而非底层的SQL语句。本篇文章将深入探讨...

    hibernate3 hibernate3

    在本篇文章中,我们将深入探讨Hibernate3的核心概念、主要功能以及如何在实际项目中应用。 一、Hibernate3核心概念 1. 实体(Entity):在Hibernate中,实体代表数据库中的表,是Java类的一个实例。通过在类上使用...

    Hibernate-Extension Middlegen-Hibernate

    Middlegen,全称为Middle Generation,是针对Hibernate的一个扩展工具,它的主要作用是自动生成基于Hibernate的持久化类、映射文件和相关的DAO层代码。这样,当数据库表结构发生变化时,开发者只需要更新数据库,...

    hibernate包

    标题“hibernate包”暗示我们将探讨关于Hibernate的相关内容。Hibernate提供了一个强大的数据持久化层,它支持多种数据库系统,包括MySQL、Oracle、PostgreSQL等。通过使用Hibernate,开发者可以将Java对象和数据库...

Global site tag (gtag.js) - Google Analytics