persistentclass.java

来自「hibernate-3.0.5 中文文档」· Java 代码 · 共 580 行 · 第 1/2 页

JAVA
580
字号
	public void setBatchSize(int batchSize) {		this.batchSize = batchSize;	}	public boolean hasSelectBeforeUpdate() {		return selectBeforeUpdate;	}	public void setSelectBeforeUpdate(boolean selectBeforeUpdate) {		this.selectBeforeUpdate = selectBeforeUpdate;	}	public Property getProperty(String propertyName) throws MappingException {		Iterator iter = getPropertyClosureIterator();		while ( iter.hasNext() ) {			Property prop = (Property) iter.next();			if ( prop.getName().equals(propertyName) ) return prop;		}		throw new MappingException("property not found: " + propertyName);	}	public int getOptimisticLockMode() {		return optimisticLockMode;	}	public void setOptimisticLockMode(int optimisticLockMode) {		this.optimisticLockMode = optimisticLockMode;	}	public void validate(Mapping mapping) throws MappingException {		Iterator iter = getPropertyIterator();		while ( iter.hasNext() ) {			Property prop = (Property) iter.next();			if ( !prop.isValid(mapping) ) {				throw new MappingException(					"property mapping has wrong number of columns: " +					StringHelper.qualify( getEntityName(), prop.getName() ) +					" type: " +					prop.getType().getName()				);			}		}		checkPropertyDuplication();		checkColumnDuplication();	}		private void checkPropertyDuplication() throws MappingException {		HashSet names = new HashSet();		Iterator iter = getPropertyIterator();		while ( iter.hasNext() ) {			Property prop = (Property) iter.next();			if ( !names.add( prop.getName() ) ) {				throw new MappingException( "duplicate property mapping: " + prop.getName() );			}		}	}	public boolean isDiscriminatorValueNotNull() {		return NOT_NULL_DISCRIMINATOR_MAPPING.equals( getDiscriminatorValue() );	}	public boolean isDiscriminatorValueNull() {		return NULL_DISCRIMINATOR_MAPPING.equals( getDiscriminatorValue() );	}	public java.util.Map getMetaAttributes() {		return metaAttributes;	}	public void setMetaAttributes(java.util.Map metas) {		this.metaAttributes = metas;	}	public MetaAttribute getMetaAttribute(String name) {		return metaAttributes==null?null:(MetaAttribute) metaAttributes.get(name);	}	public String toString() {		return getClass().getName() + '(' + getEntityName() + ')';	}		public Iterator getJoinIterator() {		return joins.iterator();	}	public Iterator getJoinClosureIterator() {		return joins.iterator();	}	public void addJoin(Join join) {		joins.add(join);		join.setPersistentClass(this);	}	public int getJoinClosureSpan() {		return joins.size();	}	public int getPropertyClosureSpan() {		int span = properties.size();		for ( int i=0; i<joins.size(); i++ ) {			Join join = (Join) joins.get(i);			span += join.getPropertySpan();		}		return span;	}	public int getJoinNumber(Property prop) {		int result=1;		Iterator iter = getSubclassJoinClosureIterator();		while ( iter.hasNext() ) {			Join join = (Join) iter.next();			if ( join.containsProperty(prop) ) return result;			result++;		}		return 0;	}	public Iterator getPropertyIterator() {		ArrayList iterators = new ArrayList();		iterators.add( properties.iterator() );		for ( int i=0; i<joins.size(); i++ ) {			Join join = (Join) joins.get(i);			iterators.add( join.getPropertyIterator() );		}		return new JoinedIterator(iterators);	}	public Iterator getUnjoinedPropertyIterator() {		return properties.iterator();	}	public void setCustomSQLInsert(String customSQLInsert, boolean callable) {		this.customSQLInsert = customSQLInsert;		this.customInsertCallable = callable;	}	public String getCustomSQLInsert() {		return customSQLInsert;	}	public boolean isCustomInsertCallable() {		return customInsertCallable;	}	public void setCustomSQLUpdate(String customSQLUpdate, boolean callable) {		this.customSQLUpdate = customSQLUpdate;		this.customUpdateCallable = callable;	}	public String getCustomSQLUpdate() {		return customSQLUpdate;	}	public boolean isCustomUpdateCallable() {		return customUpdateCallable;	}	public void setCustomSQLDelete(String customSQLDelete, boolean callable) {		this.customSQLDelete = customSQLDelete;		this.customDeleteCallable = callable;	}	public String getCustomSQLDelete() {		return customSQLDelete;	}	public boolean isCustomDeleteCallable() {		return customDeleteCallable;	}	public void addFilter(String name, String condition) {		filters.put(name, condition);	}	public java.util.Map getFilterMap() {		return filters;	}	public boolean isForceDiscriminator() {		return false;	}	public abstract boolean isJoinedSubclass();	public String getLoaderName() {		return loaderName;	}	public void setLoaderName(String loaderName) {		this.loaderName = loaderName==null ? null : loaderName.intern();	}	public abstract java.util.Set getSynchronizedTables();		public void addSynchronizedTable(String table) {		synchronizedTables.add(table);	}	public boolean isAbstract() {		return isAbstract;	}	public void setAbstract(boolean isAbstract) {		this.isAbstract = isAbstract;	}	protected void checkColumnDuplication(Set distinctColumns, Iterator columns) 	throws MappingException {		while ( columns.hasNext() ) {			Selectable columnOrFormula = (Selectable) columns.next();			if ( !columnOrFormula.isFormula() ) {				Column col = (Column) columnOrFormula;				if ( !distinctColumns.add( col.getName() ) ) {					throw new MappingException( 							"Repeated column in mapping for entity: " +							getEntityName() +							" column: " +							col.getName() + 							" (should be mapped with insert=\"false\" update=\"false\")"					);				}			}		}	}		protected void checkPropertyColumnDuplication(Set distinctColumns, Iterator properties) 	throws MappingException {		while ( properties.hasNext() ) {			Property prop = (Property) properties.next();			if ( prop.getValue() instanceof Component ) { //TODO: remove use of instanceof!				Component component = (Component) prop.getValue();				checkPropertyColumnDuplication( distinctColumns, component.getPropertyIterator() );			}			else {				if ( prop.isUpdateable() || prop.isInsertable() ) {					checkColumnDuplication( distinctColumns, prop.getColumnIterator() );				}			}		}	}		protected Iterator getNonDuplicatedPropertyIterator() {		return getUnjoinedPropertyIterator();	}		protected Iterator getDiscriminatorColumnIterator() {		return EmptyIterator.INSTANCE;	}		protected void checkColumnDuplication() {		HashSet cols = new HashSet();		checkColumnDuplication( cols, getKey().getColumnIterator() );		checkColumnDuplication( cols, getDiscriminatorColumnIterator() );		checkPropertyColumnDuplication( cols, getNonDuplicatedPropertyIterator() );		Iterator iter = getJoinIterator();		while ( iter.hasNext() ) {			cols.clear();			Join join = (Join) iter.next();			checkColumnDuplication( cols, join.getKey().getColumnIterator() );			checkPropertyColumnDuplication( cols, join.getPropertyIterator() );		}	}		public abstract Object accept(PersistentClassVisitor mv);		public String getNodeName() {		return nodeName;	}		public void setNodeName(String nodeName) {		this.nodeName = nodeName;	}		public boolean hasPojoRepresentation() {		return getClassName()!=null;	}	public boolean hasDom4jRepresentation() {		return getNodeName()!=null;	}	public boolean hasSubselectLoadableCollections() {		return hasSubselectLoadableCollections;	}		public void setSubselectLoadableCollections(boolean hasSubselectCollections) {		this.hasSubselectLoadableCollections = hasSubselectCollections;	}	}

⌨️ 快捷键说明

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