先上代码^_^....
User user = new User();
user.setUser_name("111");
user.setUser_pwd("222");
save(user); User user1 = (User)user.clone();
System.out.println(user1.getUser_name()); //①
persist(user1); //②
.....
//通过save()添加对象
public static void save(Object obj) throws HibernateException{
try{
session = HibernateFactory.getSession();
//tran = session.beginTransaction();
session.save(obj);
//tran.commit();
}catch(HibernateException e){
if(tran!=null)
tran.rollback();
throw e;
}finally{
close();
}
}
//通过persist()添加对象
public static void persist(Object obj) throws HibernateException{
try{
session = HibernateFactory.getSession();
//tran = session.beginTransaction();
session.persist(obj);
//tran.commit();
}catch(HibernateException e){
if(tran!=null)
tran.rollback();
throw e;
}finally{
close();
}
}
User类:package com.hibernate.bean;
import java.util.Date;public class User implements Cloneable
{
private int id;
private String user_name;
private String user_pwd;
private Date birthday; .....
public Object clone(){
User user = null;
try{
user = (User)super.clone();
}catch(CloneNotSupportedException e){
e.printStackTrace();
}
return user;
}
}问题:
在测试save()与persist()的过程中,我使用到了clone(),①处有值,但是②处却抛出异常,如下: [java] Exception in thread "main" org.hibernate.PersistentObjectException:
detached entity passed to persist: com.hibernate.bean.User
[java] at org.hibernate.event.def.DefaultPersistEventListener.onPersist
(DefaultPersistEventListener.java:102)
[java] at org.hibernate.event.def.DefaultPersistEventListener.onPersist
(DefaultPersistEventListener.java:61)
[java] at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:6
45)
[java] at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:619)
[java] at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:623)
[java] at com.hibernate.test.Hibernate2Test.persist(Unknown Source)
[java] at com.hibernate.test.Hibernate2Test.main(Unknown Source)
请问这是什么原因?
User user = new User();
user.setUser_name("111");
user.setUser_pwd("222");
save(user); User user1 = (User)user.clone();
System.out.println(user1.getUser_name()); //①
persist(user1); //②
.....
//通过save()添加对象
public static void save(Object obj) throws HibernateException{
try{
session = HibernateFactory.getSession();
//tran = session.beginTransaction();
session.save(obj);
//tran.commit();
}catch(HibernateException e){
if(tran!=null)
tran.rollback();
throw e;
}finally{
close();
}
}
//通过persist()添加对象
public static void persist(Object obj) throws HibernateException{
try{
session = HibernateFactory.getSession();
//tran = session.beginTransaction();
session.persist(obj);
//tran.commit();
}catch(HibernateException e){
if(tran!=null)
tran.rollback();
throw e;
}finally{
close();
}
}
User类:package com.hibernate.bean;
import java.util.Date;public class User implements Cloneable
{
private int id;
private String user_name;
private String user_pwd;
private Date birthday; .....
public Object clone(){
User user = null;
try{
user = (User)super.clone();
}catch(CloneNotSupportedException e){
e.printStackTrace();
}
return user;
}
}问题:
在测试save()与persist()的过程中,我使用到了clone(),①处有值,但是②处却抛出异常,如下: [java] Exception in thread "main" org.hibernate.PersistentObjectException:
detached entity passed to persist: com.hibernate.bean.User
[java] at org.hibernate.event.def.DefaultPersistEventListener.onPersist
(DefaultPersistEventListener.java:102)
[java] at org.hibernate.event.def.DefaultPersistEventListener.onPersist
(DefaultPersistEventListener.java:61)
[java] at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:6
45)
[java] at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:619)
[java] at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:623)
[java] at com.hibernate.test.Hibernate2Test.persist(Unknown Source)
[java] at com.hibernate.test.Hibernate2Test.main(Unknown Source)
请问这是什么原因?
解决方案 »
- oracle到数据库问题,总是提示“ORA-01017: invalid username/password; logon denied用户名:”
- hibernate3 读取数据问题 (怎么读取单字段)
- 问个简单的问题....Hibernate的
- 新增jsp根目录
- struts 2.0 中的<s:select> 标签如何设置生成的option的value 属性和显示内容,及option的顺序?
- 关于webservice的soap报文与服务端System.out.println输出语句串打
- 怎么使用java语言把string的文字转化为jpg图片格式保存
- JBuilder中自带的DB(jds)的驱动怎样加载如WebLogic?
- 关于java applet 嵌入web的解决办法
- 简单计算器!求指导!!!
- 一个不知道怎么描述的问题
- 无法从静态上下文中引用非静态 变量 this
User user = new User();
user.setUser_name("111");
user.setUser_pwd("222");
User user1 = (User)user.clone();
save(user);
// User user1 = (User)user.clone(); 这里的user的id已经存在了,把这句移到save()前就OK了