0 0

Hibernate 序列的问题。请教5

这是我写的一个方法
public boolean addEmployee(Employee emp) {
		boolean flag = false;
		Session session = HibernateSessionFactory.getSession();
		Transaction t = null;
		try {
			t = session.beginTransaction();
			session.save(emp);
			t.commit();
			return flag = true;
		} catch (Exception e) {
			e.printStackTrace();
			if (t != null) {
				t.rollback();
			}
			return flag;
		} finally {
			session.close();
		}
	}
	 public static void main(String[] arge){
	 Employee emp = new Employee();
	 EmployeeDAOImpl empl = new EmployeeDAOImpl();
	 emp.setAge("1976-09-08");
	 emp.setDepId("LG");
	 emp.setEmpId("LG20050001");
	 emp.setEmpName("小王");
	 emp.setPassword("123");
	 emp.setSchool("中国科学技术大学");
	 emp.setSchoolage("硕士");
	 emp.setSex("男");
	 emp.setSpeciality("核工业");
	 empl.addEmployee(emp);		
	 }

这个是Employee.hbm.xml
<hibernate-mapping>
    <class name="com.xfweb.hibernate.Employee" table="EMPLOYEE" schema="XF">
        <id name="empId" type="java.lang.String">
            <column name="EMP_ID" length="30" />
            <generator class="native" />
        </id>
        <property name="empName" type="java.lang.String">
            <column name="EMP_NAME" length="20" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="PASSWORD" length="20" />
        </property>
        <property name="sex" type="java.lang.String">
            <column name="SEX" length="10" />
        </property>
        <property name="age" type="java.lang.String">
            <column name="AGE" length="20" />
        </property>
        <property name="speciality" type="java.lang.String">
            <column name="SPECIALITY" length="50" />
        </property>
        <property name="schoolage" type="java.lang.String">
            <column name="SCHOOLAGE" length="20" />
        </property>
        <property name="school" type="java.lang.String">
            <column name="SCHOOL" length="50" />
        </property>
        <property name="depId" type="java.lang.String">
            <column name="DEP_ID" length="20" />
        </property>
    </class>
</hibernate-mapping>

测试以后发现EMP_ID里不是我插入的“LG20050001”而是“4”;这个表我并不希望他插入序列。其他的属性都是正确的。我想可能跟我插入的“Hibernate_sequence”有关。但是我不创建这个序列的话,其他表的序列就报错提示序列不存在。这个应该怎么解决啊?
2008年6月02日 12:00

1个答案 按时间排序 按投票排序

0 0

采纳的答案

<id name="empId" type="java.lang.String">  
            <column name="EMP_ID" length="30" />  
            <generator class="native" />  
</id>  

改成

<id name="empId" type="java.lang.String">  
            <column name="EMP_ID" length="30" />  
            <generator class="Assigned" />  
</id>  

Assigned才是將主鍵的生成將給程序處理,與HIbernate無關.

2008年6月02日 16:55

相关推荐

    Hibernate Hibernate5 讲义 PDF

    这主要是为了解决内存的不稳定性和容量限制问题,并满足业务数据共享、大规模数据检索和数据管理的需求。 在企业级应用中,对象序列化适合少量对象的持久化,但不符合大规模查询和长时间保存的需求。因此,除了对象...

    Hibernate面试题专栏 - 最全的Hibernate面试题, Hibernate笔试题, Hibernate问题

    【标题】与【描述】提及的是“Hibernate面试题专栏”,主要涵盖了全面的Hibernate面试题、笔试题以及相关问题,这表明我们将要讨论的是Java领域中著名的对象关系映射框架——Hibernate的相关知识。Hibernate是一个...

    Hibernate相关jar包括新版本jdk不兼容旧版本的jar.zip

    例如,JDK的升级可能会影响到反射、序列化、线程同步等核心机制,而这些机制是Hibernate在进行ORM操作时经常用到的。此外,新JDK可能会对内存管理、垃圾回收策略进行优化,这可能会影响Hibernate的性能或稳定性。当...

    解决Hibernate对于Date类型的数据返回结果中时分秒不对的问题

    这个问题通常源于多个因素,包括日期时间的序列化与反序列化过程、时区设置、以及Hibernate的配置等。以下我们将详细探讨这个问题的成因及解决方案。 1. **日期时间序列化与反序列化**: Hibernate在处理Date对象...

    Hibernate 配置各种数据库

    Hibernate 配置各种数据库 Hibernate 是一个基于 Java 的持久层框架,提供了一个抽象的数据访问层,能够与多种数据库进行集成。在 Hibernate 的配置文件中,我们可以配置不同的数据库连接,包括驱动程序、URL 等...

    Hibernate入门到精通

    "Hibernate入门到精通" Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 ...

    hibernate效率问题

    hibernate效率注意的几个问题,批量删除和批量更新建议用JDBC,这是一个原则,当然有的时候可能必须用Hibernate来批量更新和批量删除,那么这个时候我想说的就是,Hibernate批量更新和删除效率并非传说中的那么差,...

    hibernate3.zip 包含hibernate3.jar

    二级缓存则是在多个`Session`间共享的,可以提高数据读取效率,但需谨慎使用以防止数据一致性问题。 8. **持久化类和映射文件**:持久化类是与数据库表对应的Java类,通常包含一些特定的注解或XML映射文件...

    hibernate jar包

    6. **其他辅助库**:例如,可能包含用于日期时间处理的Joda-Time,或者用于JSON序列化的Jackson或Gson库。 在开发过程中,使用这个“hibernate jar包”可以快速搭建Hibernate环境,只需将这些jar文件添加到项目的类...

    hibernate 5.2.15

    hibernate 5.2.15 hibernate 5.2.15 hibernate 5.2.15 hibernate 5.2.15 hibernate 5.2.15hibernate 5.2.15

    Could not roll back Hibernate transaction.doc

    然而,在使用Hibernate时,可能会遇到事务回滚失败的问题,本文将详细介绍该问题的原因和解决方法。 一、问题描述 在使用Hibernate时,可能会遇到以下错误信息: Could not roll back Hibernate transaction; ...

    hibernate jar包:hibernate-commons-annotations-4.0.1.Final.jar等

    Hibernate.jar包,Hibernate可以应用在任何使用JDBC的场合,包含 hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.12.Final.jar hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-...

    hibernate-release-4.1.4

    3. **文档**:如用户指南、API文档,帮助开发者快速上手和解决问题。 4. **示例**:包含了一些演示如何使用Hibernate的代码示例,有助于理解其用法。 5. **配置文件**:可能有默认的配置模板,展示如何配置Hibernate...

    kingbaseV8 hibernate jdbc 驱动

    在Java开发环境中,与KingbaseV8数据库进行交互通常会用到Hibernate框架和JDBC驱动。 Hibernate是一个优秀的对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作,通过将Java对象与数据库表进行映射,...

    hibernate-extensions和Middlegen-Hibernate

    为了解决这一问题,两个工具——hibernate-extensions和Middlegen-Hibernate应运而生,它们可以自动生成这些代码,提高了开发效率。 **hibernate-extensions** 是Hibernate框架的一个扩展,它提供了一些额外的功能...

    hibernate和MySQL的jar

    标题中的“hibernate和MySQL的jar”指的是Hibernate ORM框架与MySQL数据库之间的连接库。Hibernate是一种流行的Java对象关系映射(ORM)工具,它允许开发者使用面向对象的编程方式来操作数据库,而无需直接编写SQL...

    HibernateTools-3.2.4

    HibernateTools是Java开发人员在使用Hibernate ORM框架时的有力辅助工具集,主要目的是为了提高开发效率,简化数据库操作。在HibernateTools 3.2.4版本中,它包含了一系列的特性与插件,以支持更便捷地进行对象关系...

    hibernate3全部jar包:hibernate3.jar.zip 下载

    Hibernate3 是一个强大的Java持久化框架,它允许开发者将数据库操作与业务逻辑解耦,使得应用程序的开发更为简便。这个“hibernate3全部jar包:hibernate3.jar.zip”包含了所有必要的库文件,方便用户一次性下载并...

    hibernate关联映射详解

    hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,包含4个说明文档,分别详细解说了hibernate...

Global site tag (gtag.js) - Google Analytics