我目前正在研究一个项目,我想看看如果在将对象持久保存到数据库中时不使用try-catch块拥抱我的代码,会对它造成什么损害。这是我用作测试的代码。
public class NewEventServiceBean implements NewEventService {
@PersistenceContext(name = "example")
EntityManager manager;
@Resource
private UserTransaction userTransaction;
@Override
public void createNewEvent(String title, String content) throws Exception
{
userTransaction.begin();
Event event = new Event();
Content cont = new Content();
cont.setContent(content);
event.setTitle(title);
event.setCont(cont);
manager.persist(event);
manager.persist(cont);
userTransaction.commit();
}
在数据库中,我有此事件表,该表具有指向内容表的外键。
我的问题是,即使我在持久化内容类时引起错误,也可能将Event对象持久化到数据库中。还是不使用try catch和rollback拥抱代码的缺点是什么?
我试图在持久化内容对象时导致错误,但是即使该类中的所有内容都正确,事件也不会持久化到数据库中。