Class MongoOperations<QueryType,​UpdateType>


  • public abstract class MongoOperations<QueryType,​UpdateType>
    extends Object
    • Constructor Detail

      • MongoOperations

        public MongoOperations()
    • Method Detail

      • createQuery

        protected abstract QueryType createQuery​(com.mongodb.client.MongoCollection<?> collection,
                                                 com.mongodb.client.ClientSession session,
                                                 org.bson.Document query,
                                                 org.bson.Document sortDoc)
      • createUpdate

        protected abstract UpdateType createUpdate​(com.mongodb.client.MongoCollection collection,
                                                   Class<?> entityClass,
                                                   org.bson.Document docUpdate)
      • list

        protected abstract List<?> list​(QueryType queryType)
      • persist

        public void persist​(Object entity)
      • persist

        public void persist​(Iterable<?> entities)
      • persist

        public void persist​(Object firstEntity,
                            Object... entities)
      • persist

        public void persist​(Stream<?> entities)
      • update

        public void update​(Object entity)
      • update

        public void update​(Iterable<?> entities)
      • update

        public void update​(Object firstEntity,
                           Object... entities)
      • update

        public void update​(Stream<?> entities)
      • persistOrUpdate

        public void persistOrUpdate​(Object entity)
      • persistOrUpdate

        public void persistOrUpdate​(Iterable<?> entities)
      • persistOrUpdate

        public void persistOrUpdate​(Object firstEntity,
                                    Object... entities)
      • persistOrUpdate

        public void persistOrUpdate​(Stream<?> entities)
      • delete

        public void delete​(Object entity)
      • mongoCollection

        public com.mongodb.client.MongoCollection mongoCollection​(Class<?> entityClass)
      • mongoDatabase

        public com.mongodb.client.MongoDatabase mongoDatabase​(Class<?> entityClass)
      • getSession

        com.mongodb.client.ClientSession getSession​(Object entity)
      • getSession

        com.mongodb.client.ClientSession getSession​(Class<?> entityClass)
      • bindFilter

        public String bindFilter​(Class<?> clazz,
                                 String query,
                                 Object[] params)
        We should have a query like {'firstname': ?1, 'lastname': ?2} for native one and like firstname = ?1 for PanacheQL one.
      • bindFilter

        public String bindFilter​(Class<?> clazz,
                                 String query,
                                 Map<String,​Object> params)
        We should have a query like {'firstname': :firstname, 'lastname': :lastname} for native one and like firstname = :firstname and lastname = :lastname for PanacheQL one.
      • bindUpdate

        String bindUpdate​(Class<?> clazz,
                          String query,
                          Object[] params)
        We should have a query like {'firstname': ?1, 'lastname': ?2} for native one and like firstname = ?1 and lastname = ?2 for PanacheQL one. As update document needs an update operator, we add $set if none is provided.
      • bindUpdate

        String bindUpdate​(Class<?> clazz,
                          String query,
                          Map<String,​Object> params)
        We should have a query like {'firstname': :firstname, 'lastname': :lastname} for native one and like firstname = :firstname and lastname = :lastname for PanacheQL one. As update document needs an update operator, we add $set if none is provided.
      • find

        public QueryType find​(Class<?> entityClass,
                              org.bson.Document query,
                              Sort sort)
      • find

        public QueryType find​(Class<?> entityClass,
                              org.bson.Document query,
                              org.bson.Document sort)
      • find

        public QueryType find​(Class<?> entityClass,
                              org.bson.Document query)
      • list

        public List<?> list​(Class<?> entityClass,
                            org.bson.Document query)
      • list

        public List<?> list​(Class<?> entityClass,
                            org.bson.Document query,
                            org.bson.Document sort)
      • stream

        public Stream<?> stream​(Class<?> entityClass,
                                org.bson.Document query)
      • stream

        public Stream<?> stream​(Class<?> entityClass,
                                org.bson.Document query,
                                org.bson.Document sort)
      • listAll

        public List<?> listAll​(Class<?> entityClass)
      • listAll

        public List<?> listAll​(Class<?> entityClass,
                               Sort sort)
      • streamAll

        public Stream<?> streamAll​(Class<?> entityClass)
      • streamAll

        public Stream<?> streamAll​(Class<?> entityClass,
                                   Sort sort)
      • count

        public long count​(Class<?> entityClass)
      • count

        public long count​(Class<?> entityClass,
                          String query,
                          Object... params)
      • count

        public long count​(Class<?> entityClass,
                          org.bson.Document query)
      • deleteAll

        public long deleteAll​(Class<?> entityClass)
      • deleteById

        public boolean deleteById​(Class<?> entityClass,
                                  Object id)
      • delete

        public long delete​(Class<?> entityClass,
                           String query,
                           Object... params)
      • delete

        public long delete​(Class<?> entityClass,
                           org.bson.Document query)