作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我目前正在学习设计模式。我使用工厂从数据库中获取数据,创建一个对象,然后返回它。但是当我想更新或删除数据库中的数据时,可以使用什么样的设计模式呢?工厂也可以进行更新和删除,或者存在另一种设计模式吗?用 Java 或 PHP 编写的示例会很有帮助。
感谢您的支持!
最佳答案
不,不是真的。工厂制造东西,仅此而已。在使用 ActiveRecord 模式的情况下,实体有一个保存方法。使用像 Hibernate 这样的 ORM, session 持久化实体。
在 Java 中,您有一个 SessionFactory(或 EntityManagerFactory),它创建 Hibernate Session(或 EntityManagers),而 Hibernate Session 有像保存这样的方法,可以获取一个对象并持久化它或用它做任何事情。实体对象将更新为新值,然后将其作为参数传递给 session.save(尽管在许多情况下 Hibernate 可以找出更改的内容,因此不需要显式调用 save),如下所示:
EntityManager manager = entityManagerFactory.create();
MyEntity entity = manager.findById(someid);
entity.setName("new name");
manager.save(entity);
关于database - 设计模式 : Should a factory update and delete too?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23810252/
我是一名优秀的程序员,十分优秀!