我自己感到很惊讶,这个问题以前从未发生过,但这次我感到困扰,因为我正在创建自己的应用程序。
我有一个有30个字段的TaskDetail类。在更新时,可能只有一小部分TaskDetail可以更新,就像任务的“endDate”一样。我们可以使用两种策略来更新此字段。
这两种方法似乎都有其优点和缺点
方法1 :( PROS) - 它是一种更清洁的方法。 (CONS) - 为了一个领域,我们不必要地过多地写了29个字段。
方法2 :( PROS) - 我们只是更新被修改的字段 (CONS) - 使DAO看起来很脏,因为我们需要30次空检查以确定哪个字段必须更新。
这个问题让我有点不舒服。
这种方法中哪一种是可接受的方法还是第三种方法?我不太喜欢使用hibernate,尽管更喜欢Spring JDBC模板。
答案 0 :(得分:1)
仅仅依靠信息的要点 - 方法1显然是性能开销,因为每次更新时每次都会更新所有29个字段。您可以根据更新的字段进行更多更新操作,但更多的操作将基于您的用例。与DAO的外观相比,我会更担心性能,可维护性和原子性,只要它没有复杂的写入。