本文介绍了Hibernate - 更新表中的主键'id'列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的Java应用程序中,我使用hibernate .hbm文件来访问数据库;这是否可以更新表中的主键'id'列?如果我的.hbm文件中的'id'列是这样的:

 < hibernate-mapping package =org.jems。 user.model> 
< class name =Student_Detailstable =t_student>
< id name =idtype =intcolumn =id>
< generator class =increment/>
< / id>
< property name =namecolumn =nametype =stringunique =truenot-null =true/>
< property name =descriptioncolumn =descriptiontype =string/>
< property name =commentscolumn =commentstype =string/>
< / class>
< / hibernate-mapping>


解决方案

试试这个:

  String hql =update table set id =?where id =?; 
Query query = HibernateSessionFactory.getSession()。createQuery(hql);
query.setInteger(0,1);
query.setInteger(1,2);
query.executeUpdate();
HibernateSessionFactory.getSession()。beginTransaction()。commit();






或者只是使用sql:

  String sql =update table set id =?where id =? 
Session session = HibernateSessionFactory.getSession();
SQLQuery query = session.createSQLQuery(sql);
query.setParameter(0,1);
query.setParameter(1,2);


In my Java applicaion, I am using hibernate .hbm file to access database; Is this possible to update the primary key 'id' column in the table; Where the 'id' column in my .hbm file is like:

<hibernate-mapping package="org.jems.user.model">
<class name="Student_Details" table="t_student">
<id name="id" type="int" column="id">
<generator class="increment"/>
</id>
<property name="name" column="name" type="string" unique="true" not-null="true" />
<property name="description" column="description" type="string"  />
<property name="comments" column="comments" type="string"  />
<property name="active"     column="isActive"   type="boolean"  not-null="true" />
</class>
</hibernate-mapping>
解决方案

try this:

String hql="update table set id=? where id=? ";
Query query=HibernateSessionFactory.getSession().createQuery(hql);
query.setInteger(0,1);
query.setInteger(1,2);
query.executeUpdate();
HibernateSessionFactory.getSession().beginTransaction().commit();


or just use sql:

String sql = "update table set id = ? where id= ?"
Session session = HibernateSessionFactory.getSession();
SQLQuery query = session.createSQLQuery(sql);
query.setParameter(0, 1);
query.setParameter(1, 2);

这篇关于Hibernate - 更新表中的主键'id'列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 08:34
查看更多