关于Doctrine ORM存储库的问题

时间:2018-02-23 09:38:01

标签: php doctrine-orm orm doctrine entitymanager

我对Doctrine ORM很新,我有一些基本的问题,我无法解决这些问题。

  1. 当我获得存储库时,例如
      

    $ repository = $ entityManager-> getRepository('Entity')

  2. 是那个存储库“更新”了我在该行之后保留的实体实体,还是只是一个“快照”?

    1. 与第一点相关,这个
        

      $ e = $ repository-> findOneBy($ criteria);

    2. 将在存储库本身中搜索“离线”(更新与否,如第一点所述),或者是否会对我的数据库进行“SELECT”查询?

      1. 我有一堆对象和关系需要存储在DB中(避免重复)。会

        get Repository (only once)
        
        loop through all objects:
        
                search for object in the repository
        
                        if not found: persist object
                        if found: nothing
        flush (only once)
        
      2. 是一个好习惯吗?

        编辑:

        1. 当我获得存储库时,默认情况下它是“空的”(直到我开始使用实体管理器持久化),或者它是否包含来自数据库中相关表的SELECT *?
        2. 提前谢谢!

0 个答案:

没有答案