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

📄 sqlgeneratedentityaliases.java

📁 介绍了hibernate的入门有一些基本常用的事例
💻 JAVA
字号:
/* * Created on 15-Mar-2005 * */package org.hibernate.loader;import java.util.Map;import org.hibernate.persister.entity.Loadable;import org.hibernate.persister.entity.SQLLoadable;/** * Describes the SQL result set column aliases for a  * select clause generated by an entity persister or overridden by propertyresults in a * named query. *  * @author Max Rydahl Andersen, */public class SQLGeneratedEntityAliases implements EntityAliases {				private /*final*/ String[] suffixedKeyColumns;		private final String[] suffixedVersionColumn;		private final String[][] suffixedPropertyColumns;		private final String suffixedDiscriminatorColumn;		private final String suffix;		private final String rowIdAlias;		private Map propertyResults;		/**		 * Calculate and cache select-clause suffixes.		 * @param map 		 */		public SQLGeneratedEntityAliases(Map propertyResults, SQLLoadable persister, String suffix) {			this.suffix = suffix;			this.propertyResults = propertyResults;						suffixedKeyColumns = get(persister.getIdentifierPropertyName(), (String[])null);			if(suffixedKeyColumns==null) {				suffixedKeyColumns = get("id", persister.getIdentifierAliases(suffix));			}						intern(suffixedKeyColumns);			suffixedPropertyColumns = getSuffixedPropertyAliases(persister);			suffixedDiscriminatorColumn = get("class", persister.getDiscriminatorAlias(suffix));			if ( persister.isVersioned() ) {				suffixedVersionColumn = suffixedPropertyColumns[ persister.getVersionProperty() ];			}			else {				suffixedVersionColumn = null;			}			rowIdAlias = Loadable.ROWID_ALIAS + suffix; // TODO: not visible to the user!		}		private String[] get(String propertyPath, String[] aliases) {			String[] columns = (String[]) propertyResults.get(propertyPath);			if(columns==null) {				return aliases;			} else {				return columns;			}		}		private String get(String propertyPath, String alias) {			String[] columns = (String[]) propertyResults.get(propertyPath);			if(columns==null) {				return alias;			} else {				return columns[0];			}		}				public String[][] getSuffixedPropertyAliases(Loadable persister) {			int size = persister.getPropertyNames().length;			String[][] suffixedPropertyAliases = new String[size][];			for ( int j = 0; j < size; j++ ) {				suffixedPropertyAliases[j] = get(persister.getPropertyNames()[j],persister.getPropertyAliases(suffix, j));				intern( suffixedPropertyAliases[j] );			}						return suffixedPropertyAliases;		}		public String[] getSuffixedVersionAliases() {			return suffixedVersionColumn;		}		public String[][] getSuffixedPropertyAliases() {			return suffixedPropertyColumns;		}		public String getSuffixedDiscriminatorAlias() {			return suffixedDiscriminatorColumn;		}		public String[] getSuffixedKeyAliases() {			return suffixedKeyColumns;		}		public String getRowIdAlias() {			return rowIdAlias;		}				private static void intern(String[] strings) {			for (int i=0; i<strings.length; i++ ) {				strings[i] = strings[i].intern();			}		}			}

⌨️ 快捷键说明

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