【问题标题】:CRUD and merge/persistCRUD 和合并/持久化
【发布时间】:2011-05-21 12:00:18
【问题描述】:

我正在开发一个使用 JPA 进行 CRUD 操作的界面,我的脑海中形成了以下问题。

如果我将 persist 用于我的 create 方法,那么我可以捕获 EntityExistsException,如果该方法是使用数据库中已有 ID 的对象调用的。

在更新方法中,我将使用merge 保存更改。为了不创建不存在的东西,我考虑先查找它,如果在数据库中找不到它,则抛出异常。

现在我只是在想这可能有点矫枉过正,为什么不让merge 在不存在时创建它,如果存在则更新它?但是那我需要create方法做什么呢?

那你怎么看?最好的做法是让 create 方法仅在尝试创建数据库中已有的内容时创建并引发异常,并拥有一个 update 方法,只允许您更新已经存在的内容,因此永远不会创建?

【问题讨论】:

    标签: database orm jpa


    【解决方案1】:

    我会使用只是合并。如果您了解(并在代码中记录)它在做什么,这是一个不错的选择。我已经在几个项目中使用了它,没有任何问题。

    【讨论】:

    • 好吧,我也选择了这个解决方案。这是我最喜欢的一个,另一个有点理论。
    猜你喜欢
    • 1970-01-01
    • 2010-12-07
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    • 2012-01-18
    • 2012-06-15
    • 2013-08-24
    相关资源
    最近更新 更多