Hibernate 序列的问题。请教

问题描述

这是我写的一个方法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”有关。但是我不创建这个序列的话,其他表的序列就报错提示序列不存在。这个应该怎么解决啊?

解决方案

<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無關.

时间: 2024-10-03 07:52:37

Hibernate 序列的问题。请教的相关文章

ssh框架中如何为oracle中对应的表创建hibernate序列,以达到新加主键自增的功能

问题描述 ssh框架中如何为oracle中对应的表创建hibernate序列,以达到新加主键自增的功能 解决方案 .hbm 文件 <id name="id" type="java.lang.String"> <column name="ID" length="32" /> <generator class="uuid.hex" /> </id>策略不一样<

请教hibernate 连续查询问题

问题描述 我对一个基表查询A a=find("hql").get(0);然后a.setProp(555); 然后对换一个字段查询B b=find("ohterhql").get(0);在第一次查询时没问题在b的find时会将a setProp的值持久化到数据库中这是为什么hibernate不熟,请教各位<property name="hibernateProperties"><props><prop key=&quo

轻松玩转Discuz!手握手的活动

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 转眼间,Discuz!官方发起的"手握手"活动已到了第5期.活动期间,4000多个论坛在得到我们"志愿者"的帮助后,成功转换成了Discuz!论坛.我也参加了"手握手"活动,并获得了第1名(有12000多大洋的奖品啊,o(∩_∩)o). "手握手"活动一开始,申请

请教各位朋友,Hibernate 能不能对oracle中视图的数据进行删除。目前只能查询

问题描述 请教各位朋友,Hibernate能不能对oracle中视图的数据进行删除.目前只能查询 解决方案 解决方案二:据我所知,视图中不能进行数据删除视图只是数据的映射吧,如果需要删除,只能操作源表请高手解答..解决方案三:不能,视图时不能修改的,如果你想修改视图就得建立触发器去操作.解决方案四:楼上都回答了啊解决方案五:谢谢各位的解答

hibernate注解实体类对应数据库字段,出了问题?请教

问题描述 hibernate注解实体类对应数据库字段,出了问题?请教 我在用注解写对应数据库的映射文件时候 搞了个单元测试 结果就报了异常 : org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'commonDao': Autowiring of fields failed; nested exception is org.springframework.beans.fac

oracle-在线等,请教一下,hibernate 原生 sql语句 查询lag( , , ),出现语法错误

问题描述 在线等,请教一下,hibernate 原生 sql语句 查询lag( , , ),出现语法错误 String queryString = "select smsid from Sms where smsid = ( select c.p from ( select smsid,lag(smsid,1,0) over (order by smsid) as p from Sms) c where c.smsid= "+ smsid + ")"; SQLQue

请教一个hibernate的保存一对多实例的问题。

问题描述 假如我在数据库有class和student两个表,他们是一对多的关系,设置了外键,映射等该设置的都OK了.我现在创了两个student实例S1 S2里面都有数据,然后添加到class的实例C1里面,最后,我调用classDAO的保存C1,提交.最后我打开后台数据库查看,class表里面确实保存信息了,但是student表里面还是空的.我想问下是不是保存C1的时候,还要再写一句话保存S1和S2,这样两个表里面才都有数据.如果是这样的话,为什么我看到的很多书上的例子,都是只保存了C1,然后

刚接触spring和hibernate连接数据库,大神请教啊,谢谢

问题描述 刚接触spring和hibernate连接数据库,大神请教啊,谢谢 type Exception report message Unable to compile class for JSP: description The server encountered an internal error that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Un

请教一个问题,hibernate多对一单向映射

问题描述 员工类:Staff.java部门类:Dept.java用的是struts2+hibernate.员工类和部门类是多对一单向映射,部门类有一个属性部门人数num.现在的问题是:当我新增或者删除一个员工时,部门类的num属性如何更新.新手请教,谢谢~ 解决方案 解决方案二:这个问题,与hibernate本身无关的吧,是你自身的业务逻辑而已,员工更新时,你通过java程序,或数据库编程的方式,就可以实现部门人数更新的了.解决方案三:1.用数据库触发器2.自己写程序逻辑解决方案四:在添加员工后