在方法中没有try-catch块的持久对象

时间:2018-12-06 09:03:55

标签: postgresql jpa java-ee entitymanager

我目前正在研究一个项目,我想看看如果在将对象持久保存到数据库中时不使用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拥抱代码的缺点是什么?

我试图在持久化内容对象时导致错误,但是即使该类中的所有内容都正确,事件也不会持久化到数据库中。

0 个答案:

没有答案