All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hibernate.boot.model.source.internal.hbm.PropertySource Maven / Gradle / Ivy

There is a newer version: 6.5.0.CR2
Show newest version
/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or .
 */
package org.hibernate.boot.model.source.internal.hbm;

import org.hibernate.boot.jaxb.hbm.spi.ToolingHintContainer;
import org.hibernate.tuple.GenerationTiming;

/**
 * Internal contract used in binding {@link org.hibernate.mapping.Property} instances
 */
interface PropertySource extends ToolingHintContainer {
	/**
	 * What kind of XML element does this information come from?
	 *
	 * @return The source XML element type
	 */
	XmlElementMetadata getSourceType();

	String getName();
	String getXmlNodeName();
	String getPropertyAccessorName();
	String getCascadeStyleName();
	GenerationTiming getGenerationTiming();
	Boolean isInsertable();
	Boolean isUpdatable();
	boolean isUsedInOptimisticLocking();
	boolean isLazy(); // bytecode-enhanced lazy

	// Used in creating the Property instance (see EntityBinder#createProperty as copied from HbmBinder)

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy