Class AnnotationRelationDaoImpl

java.lang.Object
ubic.gemma.persistence.service.AbstractDao<AnnotationRelation>
ubic.gemma.persistence.service.common.description.AnnotationRelationDaoImpl
All Implemented Interfaces:
BaseDao<AnnotationRelation>, AnnotationRelationDao

@Repository public class AnnotationRelationDaoImpl extends AbstractDao<AnnotationRelation> implements AnnotationRelationDao
Hibernate implementation of AnnotationRelationDao.

Native SQL throughout. The reads are aggregations over a derived table with an ACL clause that has to be composed per user class, and the ACL helper emits SQL, not HQL - the same reason CharacteristicDaoImpl's EE2C reads are native.

The expensive part happens offline. Every query here is an indexed lookup plus a group-by over a small purpose-built table. There is deliberately no candidate cut, no self-join over EE2C, and no second query stitched to the first by a string key in Java: those existed only to fit a corpus-wide derivation inside a request, and once the derivation runs in the maintenance job there is nothing left to approximate around.

  • Constructor Details

    • AnnotationRelationDaoImpl

      @Autowired public AnnotationRelationDaoImpl(SessionFactory sessionFactory)
  • Method Details