hibernate 主键序列问题

问题描述

hibernate 主键序列问题

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

hos_user_seq

    </id>
    <property name="name" type="java.lang.String">
        <column name="uname"/>
    </property>
    <property name="password" type="java.lang.String">
        <column name="upassword"/>
    </property>
    <!--省略其他配置-->
</class>

//text

Configuration conf = null;
SessionFactory sessionFactory = null;
Session session = null;
Transaction tx = null;
try {
conf = new Configuration().configure();
sessionFactory = conf.buildSessionFactory();
session = sessionFactory.openSession();

tx = session.beginTransaction();
User u=new User();
// u.setId(1);
u.setName("WWW");
u.setPassword("WWW");
Session sessio =(Session) session.save(u);
System.out.println(sessio);
tx.commit();
} catch (HibernateException e) {
tx.rollback(); //回滚
e.printStackTrace();//注销
} finally{
session.close();

sessionFactory.close();
}

解决方案

hibernate的主键问题
hibernate 自动主键问题
hibernate映射中主键自增问题

解决方案二:

id标签里面怎么没东西?

时间: 2024-09-17 03:50:20

hibernate 主键序列问题的相关文章

常用Hibernate主键生成策略

今天学习到了关于Hibernate主键生成策略的问题,总结下,不足之处,请大家指出. Hibernate为优秀的持久层框架的代表.在传统的JDBC+JavaBean操作中,实体对象都由程序员自己去封装,然后返回.而在Hibernate中,采用对象关系映射『ORM』,大大简化了对数据库的操作. 在数据库的设计和操作中,我们通常会给表建立主键.主键,可以分为自然主键和代理主键. 自然主键表示:采用具有业务逻辑含义的字段作为表的主键.比如在用户信息表中,采用用户的身份证号码作为主键.但是这样一来,随着

Hibernate主键生成方式 Key Generator

Hibernate主键生成方式 Key Generator 主键产生器 可选项说明: 1) assigned 主键由外部程序负责生成,无需Hibernate参与. 2) hilo 通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态. 3) seqhilo 与hilo 类似,通过hi/lo 算法实现的主键生成机制,只是主键历史状态保存在Sequence中,适用于支持Sequence的数据库,如Oracle. 4) increment 主键按数值顺序递增.此方式的实现机制

Hibernate主键生成策略总结(这里面讲的很详细)

 Hibernate提供的主键生成策略,使我们可以在实体类的映射xml文件中设定关键字来告诉hibernate我们要使用的主键生成方式,然后hibernate会根据设定完成数据库的主键控制. 一.首先通过举例子来了解实体映射文件(*.hbm.xml)中对id生成策略配置格式     用户User的实体类User.java      [java] view plaincopyprint? package com.bjpowernode.hibernate;    import java.util.

hibernate主键生成策略identity··为什么加入的第一个数据主键一直是0

问题描述 hibernate主键生成策略identity··为什么加入的第一个数据主键一直是0 从0开始没有1····· 解决方案 配置问题..............................

hibernate主键生成策略-为什么我的程序只有native方式生效(注解)

问题描述 hibernate主键生成策略-为什么我的程序只有native方式生效(注解) 我想采用uuid主键策略,但是多次各种尝试都不成功.我是通过往数据库插入数据测试的.重点是使用native能正常插入数据,而使用uuid就不行,主要原因是整个程序也不报错,就是运行了,看起来就像是跳过执行插入语句一样,实际上是执行到了插入方法的,也没有堆栈信息什么的可参考.代码如下: @Id @GeneratedValue (generator = "paymentableGenerator" )

hibernate主键生成策略

问题描述 hibernate主键生成策略 最开始程序是oracle的 用的主键生成策略当然是序列 但以后可能需要兼容各种数据库所以把主键测试改为GenerationType.AUTO 改了之后再mysql中没任何问题 但在oracle中新增数据的时候一直都是ORA-00001: 违反唯一约束条件 (CREDITV2.SYS_C005464)这个错误.我猜测是主键重复了 请问怎么样的主键策略可以兼容多种数据库, 并兼容手动添加数据到表之后的主键, 兼容多种数据库数据互相导出导入

用linq增加数据时&amp;amp;quot;服务器无法生成类型为“TinyInt”的主键列。&amp;amp;quot;

问题描述 我的数据库一张表中设置了id为主键,类型为tinyint,允许为空,并且是把它做为了一个自增的标识符,当我在vs2008中把表拖进来写好代码增加记录的时候出现了"服务器无法生成类型为"TinyInt"的主键列."我查看了一下自动生成的代码如下[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_id",AutoSync=AutoSync.OnInsert,DbType=&

继承-hibernate主键注解问题

问题描述 hibernate主键注解问题 我想所有实体类继承一个BaseVO类,BaseVO类中包含公共信息如id,,问题来了,,主键注解怎么加???我加在BaseVO中,报错:No identifier specified for entity,缺少主键. BaseVO类: [code=java] public class BaseVO { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) protected Integer id;

hibernate主键问题

问题描述 现在需求是主键从10开始自增,hibernate怎样实现这个呢,数据库是sql2005有知道的解答下,本人菜鸟...谢谢! 解决方案 解决方案二:你在数据库中建立一条不用的记录..主键值9就可以从10开始了吧.....解决方案三:引用1楼dyllove98的回复: 你在数据库中建立一条不用的记录..主键值9就可以从10开始了吧..... 要不也可以新建一张表每次都从那张表里面去取id那张表里面的id是自增的就行把那个表的id初始值设置为10那么就从10开始了解决方案四:不知道楼主为什么