/** INTERNAL: Clone the query. */ public Object clone() { ReadAllQuery cloneQuery = (ReadAllQuery) super.clone(); // Don't use setters as that will trigger unprepare cloneQuery.containerPolicy = getContainerPolicy().clone(cloneQuery); return cloneQuery; }
/** * INTERNAL: Return if the query is equal to the other. This is used to allow dynamic expression * query SQL to be cached. */ public boolean equals(Object object) { if (this == object) { return true; } if (!super.equals(object)) { return false; } ReadAllQuery query = (ReadAllQuery) object; if (!getContainerPolicy().equals(query.getContainerPolicy())) { return false; } return true; }
/** INTERNAL: Set the properties needed to be cascaded into the custom query. */ protected void prepareCustomQuery(DatabaseQuery customQuery) { ReadAllQuery customReadQuery = (ReadAllQuery) customQuery; customReadQuery.setContainerPolicy(getContainerPolicy()); customReadQuery.setCascadePolicy(getCascadePolicy()); customReadQuery.setShouldRefreshIdentityMapResult(shouldRefreshIdentityMapResult()); customReadQuery.setShouldMaintainCache(shouldMaintainCache()); customReadQuery.setShouldUseWrapperPolicy(shouldUseWrapperPolicy()); }
/** * INTERNAL: Prepare the query from the prepared query. This allows a dynamic query to prepare * itself directly from a prepared query instance. This is used in the JPQL parse cache to allow * preparsed queries to be used to prepare dynamic queries. This only copies over properties that * are configured through JPQL. */ public void prepareFromQuery(DatabaseQuery query) { super.prepareFromQuery(query); if (query.isReadAllQuery()) { ReadAllQuery readQuery = (ReadAllQuery) query; this.containerPolicy = readQuery.containerPolicy; if (readQuery.hasHierarchicalExpressions()) { this.orderSiblingsByExpressions = readQuery.getOrderSiblingsByExpressions(); this.connectByExpression = readQuery.getConnectByExpression(); this.startWithExpression = readQuery.getStartWithExpression(); } if (readQuery.hasBatchReadAttributes()) { this.batchReadAttributeExpressions = readQuery.batchReadAttributeExpressions; this.batchReadMappingQueries = readQuery.batchReadMappingQueries; this.batchReadAttributes = readQuery.batchReadAttributes; } } }