简单的例子,我有一个在数据库中具有唯一名称的用户。现在我添加一个与现有用户同名的用户。我得到了一个非常大的例外 - 堆栈跟踪。我可以使用openjpa中的参数减少此输出吗?我尝试了其中一些,但没有任何作用:http://openjpa.apache.org/builds/1.0.1/apache-openjpa-1.0.1/docs/manual/ref_guide_logging.html
另一个解决方案是在持久化之前检查名称,但我认为这是一个开销或?
@ViewScoped
@ManagedBean
public class MyBean {
@EJB
private MyStateless stateless;
public void save(ActionEvent event){
try{
stateless.save();
}catch(Exception e){
System.out.println("####EXCEPTIOn");
}
}
}
@Stateless
@LocalBean
public class MyStateless{
@PersistenceContext(unitName = "pu")
private EntityManager em;
public void save() {
Person p = new Person(1, "Name");
em.persist(p);
}
}
org.apache.openjpa.persistence.EntityExistsException:事务已回滚。有关发生的错误的详细信息,请参阅嵌套异常。 FailedObject:myejb.Person@1100245 .......
2014-03-02T10:43:47.969 + 0100 |信息:#### EXCEPTIOn
这里我得到包装的EntityExistsException的javax.ejb.EJBException