⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oracle8idialect.java

📁 hibernate-distribution-3.3.1.GA-dist.zip源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		else {			pagingSelect.append("select * from ( ");		}		pagingSelect.append(sql);		if (hasOffset) {			pagingSelect.append(" ) row_ ) where rownum_ <= ? and rownum_ > ?");		}		else {			pagingSelect.append(" ) where rownum <= ?");		}		if ( isForUpdate ) {			pagingSelect.append( " for update" );		}		return pagingSelect.toString();	}	/**	 * Allows access to the basic {@link Dialect#getSelectClauseNullString}	 * implementation...	 *	 * @param sqlType The {@link java.sql.Types} mapping type code	 * @return The appropriate select cluse fragment	 */	public String getBasicSelectClauseNullString(int sqlType) {		return super.getSelectClauseNullString( sqlType );	}	public String getSelectClauseNullString(int sqlType) {		switch(sqlType) {			case Types.VARCHAR:			case Types.CHAR:				return "to_char(null)";			case Types.DATE:			case Types.TIMESTAMP:			case Types.TIME:				return "to_date(null)";			default:				return "to_number(null)";		}	}	public String getCurrentTimestampSelectString() {		return "select sysdate from dual";	}	public String getCurrentTimestampSQLFunctionName() {		return "sysdate";	}	// features which remain constant across 8i, 9i, and 10g ~~~~~~~~~~~~~~~~~~	public String getAddColumnString() {		return "add";	}	public String getSequenceNextValString(String sequenceName) {		return "select " + getSelectSequenceNextValString( sequenceName ) + " from dual";	}	public String getSelectSequenceNextValString(String sequenceName) {		return sequenceName + ".nextval";	}	public String getCreateSequenceString(String sequenceName) {		return "create sequence " + sequenceName; //starts with 1, implicitly	}	public String getDropSequenceString(String sequenceName) {		return "drop sequence " + sequenceName;	}	public String getCascadeConstraintsString() {		return " cascade constraints";	}	public boolean dropConstraints() {		return false;	}	public String getForUpdateNowaitString() {		return " for update nowait";	}	public boolean supportsSequences() {		return true;	}	public boolean supportsPooledSequences() {		return true;	}	public boolean supportsLimit() {		return true;	}	public String getForUpdateString(String aliases) {		return getForUpdateString() + " of " + aliases;	}	public String getForUpdateNowaitString(String aliases) {		return getForUpdateString() + " of " + aliases + " nowait";	}	public boolean bindLimitParametersInReverseOrder() {		return true;	}	public boolean useMaxForLimit() {		return true;	}	public boolean forUpdateOfColumns() {		return true;	}	public String getQuerySequencesString() {		return    " select sequence_name from all_sequences"				+ "  union"				+ " select synonym_name"				+ "   from all_synonyms us, all_sequences asq"				+ "  where asq.sequence_name = us.table_name"				+ "    and asq.sequence_owner = us.table_owner";	}	public String getSelectGUIDString() {		return "select rawtohex(sys_guid()) from dual";	}	public ViolatedConstraintNameExtracter getViolatedConstraintNameExtracter() {        return EXTRACTER;	}	private static ViolatedConstraintNameExtracter EXTRACTER = new TemplatedViolatedConstraintNameExtracter() {		/**		 * Extract the name of the violated constraint from the given SQLException.		 *		 * @param sqle The exception that was the result of the constraint violation.		 * @return The extracted constraint name.		 */		public String extractConstraintName(SQLException sqle) {			int errorCode = JDBCExceptionHelper.extractErrorCode(sqle);			if ( errorCode == 1 || errorCode == 2291 || errorCode == 2292 ) {				return extractUsingTemplate( "constraint (", ") violated", sqle.getMessage() );			}			else if ( errorCode == 1400 ) {				// simple nullability constraint				return null;			}			else {				return null;			}		}	};	// not final-static to avoid possible classcast exceptions if using different oracle drivers.	int oracletypes_cursor_value = 0;	public int registerResultSetOutParameter(java.sql.CallableStatement statement,int col) throws SQLException {		if(oracletypes_cursor_value==0) {			try {				Class types = ReflectHelper.classForName("oracle.jdbc.driver.OracleTypes");				oracletypes_cursor_value = types.getField("CURSOR").getInt(types.newInstance());			} catch (Exception se) {				throw new HibernateException("Problem while trying to load or access OracleTypes.CURSOR value",se);			}		}		//	register the type of the out param - an Oracle specific type		statement.registerOutParameter(col, oracletypes_cursor_value);		col++;		return col;	}	public ResultSet getResultSet(CallableStatement ps) throws SQLException {		ps.execute();		return ( ResultSet ) ps.getObject( 1 );	}	public boolean supportsUnionAll() {		return true;	}	public boolean supportsCommentOn() {		return true;	}	public boolean supportsTemporaryTables() {		return true;	}	public String generateTemporaryTableName(String baseTableName) {		String name = super.generateTemporaryTableName(baseTableName);		return name.length() > 30 ? name.substring( 1, 30 ) : name;	}	public String getCreateTemporaryTableString() {		return "create global temporary table";	}	public String getCreateTemporaryTablePostfix() {		return "on commit delete rows";	}	public boolean dropTemporaryTableAfterUse() {		return false;	}	public boolean supportsCurrentTimestampSelection() {		return true;	}	public boolean isCurrentTimestampSelectStringCallable() {		return false;	}	// Overridden informational metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	public boolean supportsEmptyInList() {		return false;	}	public boolean supportsExistsInSelect() {		return false;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -