代码之家  ›  专栏  ›  技术社区  ›  Trick

调用crud时,检查“parent”是否存在read或join?

  •  1
  • Trick  · 技术社区  · 16 年前

    不能删除我的所有实体-只能停用,因此它们不会出现在任何读取方法中( SELECT ... WHERE active=TRUE) .

    现在,我在这个实体上有一些1:m表,可以在这些表上执行所有crud操作。

    什么效率更高或性能更好?

    我的第一个解决方案:添加到所有crud操作:

    UPDATE ... JOIN entity e ... WHERE e.active=TRUE

    我的第二个解决方案:在所有crud操作检查实体是否活动之前:

    if (getEntity(someId) != null) {
        //do some CRUD
    }
    

    getEntity 只是 SELECT * FROM entity WHERE id=? AND active=TRUE .

    或者其他的解决方案,建议…?

    2 回复  |  直到 16 年前
        1
  •  1
  •   TomTom    16 年前

    第二,加上活动的二级缓存;)可能是对象已经在内存中。机会非常大。

        2
  •  0
  •   bleeeah    16 年前

    我将把所有被停用的实体移到一个单独的表中,而不担心实体处于活动状态。