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

📄 dialect.java

📁 介绍了hibernate的入门有一些基本常用的事例
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		return null;	}	/**	 * The keyword used to insert a row without specifying any column values	 */	public String getNoColumnsInsertString() {		return "values ( )";	}	/**	 * The syntax that fetches the next value of a sequence, if sequences are supported.	 *	 * @param sequenceName the name of the sequence	 * @return String	 * @throws MappingException if no sequences	 */	public String getSequenceNextValString(String sequenceName) throws MappingException {		throw new MappingException( "Dialect does not support sequences" );	}	/**	 * The syntax used to create a sequence, if sequences are supported.	 *	 * @param sequenceName the name of the sequence	 * @return String	 * @throws MappingException if no sequences	 */	protected String getCreateSequenceString(String sequenceName) throws MappingException {		throw new MappingException( "Dialect does not support sequences" );	}	/**	 * The multiline script used to create a sequence, if sequences are supported.	 *	 * @param sequenceName the name of the sequence	 * @return String[]	 * @throws MappingException if no sequences	 */	public String[] getCreateSequenceStrings(String sequenceName) throws MappingException {		return new String[]{getCreateSequenceString( sequenceName )};	}	/**	 * The syntax used to drop a sequence, if sequences are supported.	 *	 * @param sequenceName the name of the sequence	 * @return String	 * @throws MappingException if no sequences	 */	protected String getDropSequenceString(String sequenceName) throws MappingException {		throw new MappingException( "Dialect does not support sequences" );	}	/**	 * The multiline script used to drop a sequence, if sequences are supported.	 *	 * @param sequenceName the name of the sequence	 * @return String[]	 * @throws MappingException if no sequences	 */	public String[] getDropSequenceStrings(String sequenceName) throws MappingException {		return new String[]{getDropSequenceString( sequenceName )};	}	/**	 * A query used to find all sequences	 *	 * @see org.hibernate.tool.hbm2ddl.SchemaUpdate	 */	public String getQuerySequencesString() {		return null;	}	/**	 * Get the <tt>Dialect</tt> specified by the current <tt>System</tt> properties.	 *	 * @return Dialect	 * @throws HibernateException	 */	public static Dialect getDialect() throws HibernateException {		String dialectName = Environment.getProperties().getProperty( Environment.DIALECT );		if ( dialectName == null ) throw new HibernateException( "The dialect was not set. Set the property hibernate.dialect." );		try {			return ( Dialect ) ReflectHelper.classForName( dialectName ).newInstance();		}		catch ( ClassNotFoundException cnfe ) {			throw new HibernateException( "Dialect class not found: " + dialectName );		}		catch ( Exception e ) {			throw new HibernateException( "Could not instantiate dialect class", e );		}	}	/**	 * Get the <tt>Dialect</tt> specified by the given properties or system properties.	 *	 * @param props	 * @return Dialect	 * @throws HibernateException	 */	public static Dialect getDialect(Properties props) throws HibernateException {		String dialectName = props.getProperty( Environment.DIALECT );		if ( dialectName == null ) return getDialect();		try {			return ( Dialect ) ReflectHelper.classForName( dialectName ).newInstance();		}		catch ( ClassNotFoundException cnfe ) {			throw new HibernateException( "Dialect class not found: " + dialectName );		}		catch ( Exception e ) {			throw new HibernateException( "Could not instantiate dialect class", e );		}	}	/**	 * Retrieve a set of default Hibernate properties for this database.	 *	 * @return a set of Hibernate properties	 */	public final Properties getDefaultProperties() {		return properties;	}	/**	 * Completely optional cascading drop clause	 *	 * @return String	 */	public String getCascadeConstraintsString() {		return "";	}	/**	 * Create an <tt>OuterJoinGenerator</tt> for this dialect.	 *	 * @return OuterJoinGenerator	 */	public JoinFragment createOuterJoinFragment() {		return new ANSIJoinFragment();	}	/**	 * Create a <tt>CaseFragment</tt> for this dialect.	 *	 * @return OuterJoinGenerator	 */	public CaseFragment createCaseFragment() {		return new ANSICaseFragment();	}	/**	 * The name of the SQL function that transforms a string to	 * lowercase	 *	 * @return String	 */	public String getLowercaseFunction() {		return "lower";	}	/**	 * Does this <tt>Dialect</tt> have some kind of <tt>LIMIT</tt> syntax?	 */	public boolean supportsLimit() {		return false;	}	/**	 * Does this dialect support an offset?	 */	public boolean supportsLimitOffset() {		return supportsLimit();	}	/**	 * Add a <tt>LIMIT</tt> clause to the given SQL <tt>SELECT</tt>	 *	 * @return the modified SQL	 */	public String getLimitString(String querySelect, boolean hasOffset) {		throw new UnsupportedOperationException( "paged queries not supported" );	}	public String getLimitString(String querySelect, int offset, int limit) {		return getLimitString( querySelect, offset>0 );	}	public boolean supportsVariableLimit() {		return supportsLimit();	}	/**	 * Does the <tt>LIMIT</tt> clause specify arguments in the "reverse" order	 * limit, offset instead of offset, limit?	 *	 * @return true if the correct order is limit, offset	 */	public boolean bindLimitParametersInReverseOrder() {		return false;	}	/**	 * Does the <tt>LIMIT</tt> clause come at the start of the	 * <tt>SELECT</tt> statement, rather than at the end?	 *	 * @return true if limit parameters should come before other parameters	 */	public boolean bindLimitParametersFirst() {		return false;	}	/**	 * Does the <tt>LIMIT</tt> clause take a "maximum" row number instead	 * of a total number of returned rows?	 */	public boolean useMaxForLimit() {		return false;	}	/**	 * The opening quote for a quoted identifier	 */	public char openQuote() {		return '"';	}	/**	 * The closing quote for a quoted identifier	 */	public char closeQuote() {		return '"';	}	/**	 * SQL functions as defined in general. The results of this	 * method should be integrated with the specialisation's data.	 */	public final Map getFunctions() {		return sqlFunctions;	}	public boolean supportsIfExistsBeforeTableName() {		return false;	}	public boolean supportsIfExistsAfterTableName() {		return false;	}	/**	 * The separator between the schema/catalog/tablespace name and the table name.	 */	public char getSchemaSeparator() {		return '.';	}	/**	 * Does this dialect support column-level check constraints?	 */	public boolean supportsColumnCheck() {		return true;	}		/**	 * Does this dialect support table-level check constraints?	 */	public boolean supportsTableCheck() {		return true;	}	/**	 * Whether this dialect have an Identity clause added to the data type or a	 * completely seperate identity data type	 *	 * @return boolean	 */	public boolean hasDataTypeInIdentityColumn() {		return true;	}	public boolean supportsCascadeDelete() {		return true;	}	/**	 * Method <code>appendLockHint</code> appends according to the given	 * lock mode a lock hint behind the given table name, if this dialect	 * needs this. MS SQL Server for example doesn't support the	 * standard "<code>select ... for update</code>" syntax and use a	 * special "<code>select ... from TABLE as ALIAS with (updlock, rowlock)	 * where ...</code>" syntax instead.	 *	 * @param tableName name of table to append lock hint	 * @return String	 *         <p/>	 *         author <a href="http://sourceforge.net/users/heschulz">Helge Schulz</a>	 */	public String appendLockHint(LockMode mode, String tableName) {		return tableName;	}	public Class getNativeIdentifierGeneratorClass() {		if ( supportsIdentityColumns() ) {			return IdentityGenerator.class;		}		else if ( supportsSequences() ) {			return SequenceGenerator.class;		}		else {			return TableHiLoGenerator.class;		}	}	public String getSelectGUIDString() {		throw new UnsupportedOperationException( "dialect does not support GUIDs" );	}	public boolean supportsOuterJoinForUpdate() {		return true;	}	public String getSelectClauseNullString(int sqlType) {		return "null";	}		public boolean supportsNotNullUnique() {		return true;	}	/**	 * Build an instance of the SQLExceptionConverter preferred by this dialect for	 * converting SQLExceptions into Hibernate's JDBCException hierarchy.  The default	 * Dialect implementation simply returns a converter based on X/Open SQLState codes.	 * <p/>	 * It is strongly recommended that specific Dialect implementations override this	 * method, since interpretation of a SQL error is much more accurate when based on	 * the ErrorCode rather than the SQLState.  Unfortunately, the ErrorCode is a vendor-	 * specific approach.	 *	 * @return The Dialect's preferred SQLExceptionConverter.	 */	public SQLExceptionConverter buildSQLExceptionConverter() {		// The default SQLExceptionConverter for all dialects is based on SQLState		// since SQLErrorCode is extremely vendor-specific.  Specific Dialects		// may override to return whatever is most appropriate for that vendor.		return new SQLStateConverter( getViolatedConstraintNameExtracter() );	}	private static final ViolatedConstraintNameExtracter EXTRACTER = new ViolatedConstraintNameExtracter() {		public String extractConstraintName(SQLException sqle) {			return null;		}	};	public ViolatedConstraintNameExtracter getViolatedConstraintNameExtracter() {		return EXTRACTER;	}	public final String quote(String column) {		if ( column.charAt( 0 ) == '`' ) {			return openQuote() + column.substring( 1, column.length() - 1 ) + closeQuote();		}		else {			return column;		}	}	public boolean hasSelfReferentialForeignKeyBug() {		return false;	}		public boolean useInputStreamToInsertBlob() {		return true;	}	public int registerResultSetOutParameter(CallableStatement statement, int col) throws SQLException {		throw new UnsupportedOperationException(this.getClass().getName() + " does not support resultsets via stored procedures.");			}	public ResultSet getResultSet(CallableStatement ps) throws SQLException {		throw new UnsupportedOperationException(this.getClass().getName() + " does not support resultsets via stored procedures.");	}}

⌨️ 快捷键说明

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