package com.ctrip.platform.dal.dao; /** * All valid entries for DalHints. Include parameters, config, and user defined entry. * userDefined0 to userDefined10 can be used to pass customer parameters. * @author jhhe */ public enum DalHintEnum { /** * For user to set what ever he want */ userDefined1, /** * For user to set what ever he want */ userDefined2, /** * For user to set what ever he want */ userDefined3, operation, //DalEventEnum /* * Value used to help sharding strategy locate DB shard. Can be any type */ shardValue, /* * Value used to help sharding strategy locate table shard. Can be any type */ tableShardValue, /* * Map<String, Object> of column name value pair. To help sharding strategy locate * shard */ shardColValues, /* * Entity columns to help sharding strategy locate shard */ fields, /* * StatementParameters to help sharding strategy locate shard */ parameters, /** * Explicitly indicate in which database the operation will be performed. * This is because a logic Db can include multiple physical Db. So sometimes we need to select the certain Db * Value should be String */ designatedDatabase, /* * Explicitly indicate in which shard the operation will be performed. * Value should be String */ shard, /* * Explicitly indicate which table shard the operation will be performed. * Value should be String */ tableShard, /* * Indicate that the query will be executed in all shards */ allShards, /* * Indicate that the query will be executed in the given shards */ shards, /* * Indicate name of the parameter that will partition shards for the request. */ shardBy, /* * The merger that is used to merge query result */ resultMerger, /* * The comparator that is used to sort query result with default merger */ resultSorter, /* * used in batch sp, when set the connection auto commit will be true. */ forceAutoCommit, /* * Settings for initialize statement. * Sets the number of seconds the driver will wait for a Statement object to execute to the given number of seconds. * zero means there is no limit. */ timeout, /* * resultSetType a result set type; one of * <code>ResultSet.TYPE_FORWARD_ONLY</code>, * <code>ResultSet.TYPE_SCROLL_INSENSITIVE</code>, or * <code>ResultSet.TYPE_SCROLL_SENSITIVE</code> */ resultSetType, /* * resultSetConcurrency a concurrency type; one of * <code>ResultSet.CONCUR_READ_ONLY</code> or * <code>ResultSet.CONCUR_UPDATABLE</code> */ resultSetConcurrency, /* * Parameter for statement.setFetchSize(fetchSize); */ fetchSize, /* * Indicate that processing of result set and update count can be skipped for * stored procedure. */ skipResultsProcessing, /* * Auto processing all result set and update count */ retrieveAllSpResults, /* * Parameter for statement.setMaxRows(maxRows); */ maxRows, /* End of settings for initialize connection and statement*/ /* * Is the SQL sensitive, if set, the sql will be replaced by * in the log. */ sensitive, /* * Indicate using master database even the operation can be routed to slave database */ masterOnly, heighAvaliable, /* * For insert, delete, update multiple pojos */ continueOnError, /* * Indicate which isolation level should be used to set on conection * Connection.TRANSACTION_READ_UNCOMMITTED, * Connection.TRANSACTION_READ_COMMITTED, * Connection.TRANSACTION_REPEATABLE_READ, * Connection.TRANSACTION_SERIALIZABLE, * Connection.TRANSACTION_NONE. */ isolationLevel, /* * used in DalTableDao, when set the insert field can be null value. */ insertNullField, /* * used in DalTableDao, when set the update field can be null value. */ updateNullField, /* * used in DalTableDao, when set the update field can be unchanged value after select from DB. */ updateUnchangedField, /** * Indicate the cud operation will async execute */ asyncExecution, /* * To execute CURD in sequential way. */ sequentialExecution, /** * Indicate the queryCallback for async execution */ resultCallback, /** * Indicate the futureResult for async execution when queryCallback is not specified */ futureResult, /** * allow insert incremental id. So DAL will not remove id from pojo before any of the inser operation */ enableIdentityInsert, /** * Columns that will be excluded for update */ excludedColumns, /** * Columns that will be included for update */ includedColumns, /** * If it is OK to allow some column not defined in pojo */ ignoreMissingFields, /** * Columns that will be included for query */ partialQuery, }