关于JPA一对一关系的删除有关问题,有请大家帮忙,感激不尽
关于JPA一对一关系的删除问题,有请大家帮忙,感激不尽
我的问题是,给人员分配一个登录帐号,一个人员可以用一个帐号或者没有.现在我给一个人员分配了一个登录帐号,我想把他的帐号删除掉,出现异常.
person.java
User.java
UserAction.java的删除方法如下
删除出现的异常如下:
Stacktraces
org.springframework.transaction.TransactionSystemException:
Could not commit JPA transaction;
nested exception is javax.persistence.RollbackException:
Error while commiting the transaction
我的问题是,给人员分配一个登录帐号,一个人员可以用一个帐号或者没有.现在我给一个人员分配了一个登录帐号,我想把他的帐号删除掉,出现异常.
person.java
@Entity public class Person implements Serializable{ // id private int id; // 人员名称 private String name; //对应用户 private User user; @OneToOne(mappedBy="person",cascade={CascadeType.ALL}) public User getUser() { return user; } public void setUser(User user) { this.user = user; } ....(set,get方法) }
User.java
@Entity public class User implements Serializable{ private int id; // 帐号 private String username; // 密码 // 对应人员 private Person person; @OneToOne(targetEntity = Person.class, cascade ={CascadeType.PERSIST,CascadeType.PERSIST,CascadeType.MERGE},optional=false) @JoinColumn(unique = true) public Person getPerson() { return person; } ....(SET,GET方法) }
UserAction.java的删除方法如下
public String del() throws Exception { User user = userService.find(id); userService.delete(id); return "pub_del_success"; }
删除出现的异常如下:
Stacktraces
org.springframework.transaction.TransactionSystemException:
Could not commit JPA transaction;
nested exception is javax.persistence.RollbackException:
Error while commiting the transaction