protected ModelAndMapping lookupModelAndMapping(String entityName) { MApiModel model = amd.getModel(entityName); if (null == model) { return null; } EntityMapping mapping = md.getEntityMapping(entityName); if (null == mapping) { throw new IllegalStateException("Entity mapping '" + entityName + "' should be exists!"); } return new ModelAndMapping(model, mapping); }
@Override public CriteriaQuery<T> LeftJoinById(String targetEntityName, String alias, Object id) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityName); return joinById(em, null, alias, JoinType.LEFT, id); }
public CriteriaQuery<T> leftJoinWithWhere(Class<?> targetEntityClass, String alias, Appendable where, Consumer<FieldMapping> args) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityClass); return join(em, null, alias, JoinType.LEFT, where, args); }
public CriteriaQuery<T> joinWithWhere(Class<?> targetEntityClass, String alias, Appendable where, Consumer<FieldMapping> args) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityClass); return join(em, null, alias, JoinType.INNER, where, args); }
public CriteriaQuery<T> joinWithWhere(String targetEntityName, String alias, Appendable where, Consumer<FieldMapping> args) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityName); return join(em, null, alias, JoinType.INNER, where, args); }
@Override public CriteriaQuery<T> join(Class<?> targetEntityClass, String localRelation, String alias) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityClass); return join(em, localRelation, alias, JoinType.INNER); }
@Override public CriteriaQuery<T> joinById(String targetEntityName, String localRelation, String alias, Object id) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityName); return joinById(em, localRelation, alias, JoinType.INNER, id); }
@Override public CriteriaQuery<T> joinWithWhere(Class<?> targetEntityClass, String localRelation, String alias, Appendable where, Consumer<FieldMapping> args) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityClass); return join(em, localRelation, alias, JoinType.INNER, where, args); }
@Override public CriteriaQuery<T> leftJoin(String targetEntityName, String localRelation, String alias) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityName); return join(em, localRelation, alias, JoinType.LEFT); }
@Override public CriteriaQuery<T> LeftJoinById(Class<?> targetEntityClass, String localRelation, String alias, Object id) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityClass); return joinById(em, localRelation, alias, JoinType.LEFT, id); }
public CriteriaQuery<T> leftJoinWithWhere(Class<?> targetEntityClass, String localRelation, String alias, Appendable where, Consumer<FieldMapping> args) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityClass); return join(em, localRelation, alias, JoinType.LEFT, where, args); }
public CriteriaQuery<T> leftJoinWithWhere(String targetEntityName, String alias, Appendable where, Consumer<FieldMapping> args) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityName); return join(em, null, alias, JoinType.LEFT, where, args); }
@Override public CriteriaQuery<T> joinById(Class<?> targetEntityName, String localRelation, String alias, Object id) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityName); return joinById(em, localRelation, alias, JoinType.INNER, id); }
public CriteriaQuery<T> joinWithWhere(String targetEntityName, String localRelation, String alias, Appendable where, Consumer<FieldMapping> args) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityName); return join(em, localRelation, alias, JoinType.INNER, where, args); }
@Override public CriteriaQuery<T> leftJoin(Class<?> targetEntityClass, String localRelation, String alias) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityClass); return join(em, localRelation, alias, JoinType.LEFT); }
public CriteriaQuery<T> leftJoinWithWhere(String targetEntityName, String localRelation, String alias, Appendable where, Consumer<FieldMapping> args) { EntityMapping em = context.getMetadata().getEntityMapping(targetEntityName); return join(em, localRelation, alias, JoinType.LEFT, where, args); }
public EntityMapping getEntityMapping() { OrmContext currOrmContext = getThreadLocalContext(); if (null == currOrmContext) { currOrmContext = this.ormContext; } return currOrmContext.getMetadata().getEntityMapping(entityMapping.getEntityName()); }
@Override public CriteriaQuery<T> whereByReference(Class<?> refEntityClass, Object refToId) { EntityMapping target = context.getMetadata().getEntityMapping(refEntityClass); RelationMapping rm = em.tryGetRefRelationMappingOfTargetEntity(target.getEntityName()); if (null == rm) { throw new IllegalStateException("No unique many-to-one relation in entity '" + em.getEntityName() + "' ref to '" + target.getEntityName() + "'"); } return whereByReference(rm, refToId); }
@Override public <T> ChangeObserver createEntityChangeObserver(Dao dao, Class<T> entityClass, String field) { EntityMapping em = dao.getOrmContext().getMetadata().getEntityMapping(entityClass); FieldMapping fm = em.getFieldMapping(field); int typeCode = fm.getColumn().getTypeCode(); if(typeCode == Types.BIGINT || typeCode == Types.TIMESTAMP) { return new ChangeObserverImpl(dao, em, entityClass, fm); }else{ throw new IllegalStateException("The field '" + field + "' must be BIGINT or TIMESTAMP"); } }
@Override public <T> Query<T> createSqlQuery(Class<T> resultClass, String sql) { Args.notNull(resultClass,"resultClass"); Args.notEmpty(sql,"sql"); if(isEntityClass(resultClass)){ return this.createSqlQuery(metadata().getEntityMapping(resultClass),resultClass,sql); } return queryFactory().createQuery(this, resultClass, sql); }