/*
* 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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.persister.entity;
import java.io.Serializable;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.hibernate.AssertionFailure;
import org.hibernate.EntityMode;
import org.hibernate.FetchMode;
import org.hibernate.HibernateException;
import org.hibernate.LockMode;
import org.hibernate.LockOptions;
import org.hibernate.MappingException;
import org.hibernate.QueryException;
import org.hibernate.Session;
import org.hibernate.StaleObjectStateException;
import org.hibernate.StaleStateException;
import org.hibernate.bytecode.enhance.spi.LazyPropertyInitializer;
import org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeDescriptor;
import org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor;
import org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributesMetadata;
import org.hibernate.bytecode.spi.BytecodeEnhancementMetadata;
import org.hibernate.cache.spi.access.EntityRegionAccessStrategy;
import org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy;
import org.hibernate.cache.spi.entry.CacheEntry;
import org.hibernate.cache.spi.entry.CacheEntryStructure;
import org.hibernate.cache.spi.entry.ReferenceCacheEntryImpl;
import org.hibernate.cache.spi.entry.StandardCacheEntryImpl;
import org.hibernate.cache.spi.entry.StructuredCacheEntry;
import org.hibernate.cache.spi.entry.UnstructuredCacheEntry;
import org.hibernate.collection.spi.PersistentCollection;
import org.hibernate.dialect.Dialect;
import org.hibernate.dialect.lock.LockingStrategy;
import org.hibernate.engine.OptimisticLockStyle;
import org.hibernate.engine.internal.CacheHelper;
import org.hibernate.engine.internal.ImmutableEntityEntryFactory;
import org.hibernate.engine.internal.MutableEntityEntryFactory;
import org.hibernate.engine.internal.StatefulPersistenceContext;
import org.hibernate.engine.internal.Versioning;
import org.hibernate.engine.jdbc.batch.internal.BasicBatchKey;
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
import org.hibernate.engine.jdbc.spi.JdbcServices;
import org.hibernate.engine.spi.CachedNaturalIdValueSource;
import org.hibernate.engine.spi.CascadeStyle;
import org.hibernate.engine.spi.CascadingActions;
import org.hibernate.engine.spi.CollectionKey;
import org.hibernate.engine.spi.EntityEntry;
import org.hibernate.engine.spi.EntityEntryFactory;
import org.hibernate.engine.spi.EntityKey;
import org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle;
import org.hibernate.engine.spi.LoadQueryInfluencers;
import org.hibernate.engine.spi.Mapping;
import org.hibernate.engine.spi.PersistenceContext.NaturalIdHelper;
import org.hibernate.engine.spi.PersistentAttributeInterceptable;
import org.hibernate.engine.spi.SessionFactoryImplementor;
import org.hibernate.engine.spi.SharedSessionContractImplementor;
import org.hibernate.engine.spi.ValueInclusion;
import org.hibernate.id.IdentifierGenerator;
import org.hibernate.id.PostInsertIdentifierGenerator;
import org.hibernate.id.PostInsertIdentityPersister;
import org.hibernate.id.insert.Binder;
import org.hibernate.id.insert.InsertGeneratedIdentifierDelegate;
import org.hibernate.internal.CoreLogging;
import org.hibernate.internal.CoreMessageLogger;
import org.hibernate.internal.FilterHelper;
import org.hibernate.internal.util.StringHelper;
import org.hibernate.internal.util.collections.ArrayHelper;
import org.hibernate.jdbc.Expectation;
import org.hibernate.jdbc.Expectations;
import org.hibernate.jdbc.TooManyRowsAffectedException;
import org.hibernate.loader.entity.BatchingEntityLoaderBuilder;
import org.hibernate.loader.entity.CascadeEntityLoader;
import org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder;
import org.hibernate.loader.entity.EntityLoader;
import org.hibernate.loader.entity.UniqueEntityLoader;
import org.hibernate.mapping.Column;
import org.hibernate.mapping.Component;
import org.hibernate.mapping.PersistentClass;
import org.hibernate.mapping.Property;
import org.hibernate.mapping.Selectable;
import org.hibernate.mapping.Table;
import org.hibernate.metadata.ClassMetadata;
import org.hibernate.persister.collection.CollectionPersister;
import org.hibernate.persister.spi.PersisterCreationContext;
import org.hibernate.persister.walking.internal.EntityIdentifierDefinitionHelper;
import org.hibernate.persister.walking.spi.AttributeDefinition;
import org.hibernate.persister.walking.spi.EntityIdentifierDefinition;
import org.hibernate.pretty.MessageHelper;
import org.hibernate.property.access.internal.PropertyAccessStrategyBackRefImpl;
import org.hibernate.sql.Alias;
import org.hibernate.sql.Delete;
import org.hibernate.sql.Insert;
import org.hibernate.sql.JoinFragment;
import org.hibernate.sql.JoinType;
import org.hibernate.sql.Select;
import org.hibernate.sql.SelectFragment;
import org.hibernate.sql.SimpleSelect;
import org.hibernate.sql.Template;
import org.hibernate.sql.Update;
import org.hibernate.tuple.GenerationTiming;
import org.hibernate.tuple.InDatabaseValueGenerationStrategy;
import org.hibernate.tuple.InMemoryValueGenerationStrategy;
import org.hibernate.tuple.NonIdentifierAttribute;
import org.hibernate.tuple.ValueGeneration;
import org.hibernate.tuple.entity.EntityMetamodel;
import org.hibernate.tuple.entity.EntityTuplizer;
import org.hibernate.type.AssociationType;
import org.hibernate.type.CollectionType;
import org.hibernate.type.ComponentType;
import org.hibernate.type.CompositeType;
import org.hibernate.type.EntityType;
import org.hibernate.type.Type;
import org.hibernate.type.TypeHelper;
import org.hibernate.type.VersionType;
/**
* Basic functionality for persisting an entity via JDBC
* through either generated or custom SQL
*
* @author Gavin King
*/
public abstract class AbstractEntityPersister
implements OuterJoinLoadable, Queryable, ClassMetadata, UniqueKeyLoadable,
SQLLoadable, LazyPropertyInitializer, PostInsertIdentityPersister, Lockable {
private static final CoreMessageLogger LOG = CoreLogging.messageLogger( AbstractEntityPersister.class );
public static final String ENTITY_CLASS = "class";
// moved up from AbstractEntityPersister ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
private final SessionFactoryImplementor factory;
private final EntityRegionAccessStrategy cacheAccessStrategy;
private final NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy;
private final boolean isLazyPropertiesCacheable;
private final CacheEntryHelper cacheEntryHelper;
private final EntityMetamodel entityMetamodel;
private final EntityTuplizer entityTuplizer;
private final EntityEntryFactory entityEntryFactory;
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
private final String[] rootTableKeyColumnNames;
private final String[] rootTableKeyColumnReaders;
private final String[] rootTableKeyColumnReaderTemplates;
private final String[] identifierAliases;
private final int identifierColumnSpan;
private final String versionColumnName;
private final boolean hasFormulaProperties;
protected final int batchSize;
private final boolean hasSubselectLoadableCollections;
protected final String rowIdName;
// The optional SQL string defined in the where attribute
private final String sqlWhereString;
private final String sqlWhereStringTemplate;
//information about properties of this class,
//including inherited properties
//(only really needed for updatable/insertable properties)
private final int[] propertyColumn
没有合适的资源?快使用搜索试试~ 我知道了~
hibernate-release-5.2.2.Final
共20957个文件
html:9594个
java:8860个
xml:1564个
5星 · 超过95%的资源 需积分: 10 46 下载量 121 浏览量
2018-01-27
09:54:52
上传
评论
收藏 73.94MB ZIP 举报
温馨提示
hibernate所必须的jar包。hibernate所必须的jar包。hibernate所必须的jar包。
资源推荐
资源详情
资源评论
收起资源包目录
hibernate-release-5.2.2.Final (20957个子文件)
org.hibernate.boot.spi.AdditionalJaxbMappingProducer 528B
org.hibernate.boot.spi.AdditionalJaxbMappingProducer 528B
HQL.adoc 59KB
Configurations.adoc 58KB
basic_types.adoc 52KB
Envers.adoc 52KB
Caching.adoc 34KB
Native.adoc 30KB
ServiceRegistries.adoc 28KB
collections.adoc 24KB
Services.adoc 21KB
Transactions.adoc 20KB
identifiers.adoc 18KB
PersistenceContext.adoc 16KB
Legacy_Criteria.adoc 16KB
associations.adoc 15KB
MetamodelGenerator.adoc 13KB
Database_Access.adoc 13KB
entity.adoc 13KB
Criteria.adoc 13KB
inheritance.adoc 12KB
Spatial.adoc 12KB
Legacy_Native_Queries.adoc 12KB
Bootstrap.adoc 12KB
Locking.adoc 12KB
Batching.adoc 12KB
OSGi.adoc 12KB
NativeBootstrapping.adoc 11KB
MultiTenancy.adoc 10KB
tutorial_native.adoc 10KB
Flushing.adoc 10KB
GeneratedValues.adoc 9KB
Events.adoc 8KB
BytecodeEnhancement.adoc 8KB
Fetching.adoc 7KB
Portability.adoc 7KB
naming.adoc 7KB
embeddables.adoc 5KB
BytecodeEnhancement.adoc 5KB
natural_id.adoc 5KB
migration-guide.adoc 5KB
CustomSessionFactory.adoc 5KB
LegacyBootstrapping.adoc 5KB
tutorial_jpa.adoc 4KB
Legacy_Bootstrap.adoc 4KB
obtaining.adoc 4KB
access.adoc 4KB
Logging.adoc 4KB
Preface.adoc 3KB
tutorial_annotations.adoc 3KB
Wildfly.adoc 3KB
types.adoc 3KB
Legacy_DomainModel.adoc 3KB
Schema.adoc 3KB
index.adoc 3KB
JpaBootstrapping.adoc 3KB
preface.adoc 2KB
tutorial_envers.adoc 2KB
Architecture.adoc 2KB
dynamic_model.adoc 2KB
DomainModel.adoc 2KB
Hibernate_User_Guide.adoc 1KB
JNDI.adoc 1KB
Preface.adoc 1KB
Bibliography.adoc 289B
index.adoc 247B
Hibernate_Integration_Guide.adoc 186B
jandex.bnd 231B
jandex.bnd 231B
el-api.bnd 108B
el-api.bnd 108B
cdi-api.bnd 106B
cdi-api.bnd 106B
publican.cfg 111B
publican.cfg 108B
MavenPublishingExtension.class 7KB
MavenPublishingExtension$License.class 6KB
HibernateBuildPlugin$_applyPublishing_closure4$_closure5.class 6KB
HibernateBuildPlugin.class 6KB
HibernateBuildPlugin$_applyPublishing_closure4.class 4KB
HibernateBuildPlugin$_applyPublishing_closure4$_closure5$_closure6.class 3KB
HibernateBuildPlugin$_apply_closure1.class 3KB
HibernateBuildPlugin$_applyPublishing_closure4$_closure5$_closure6$_closure11$_closure12.class 3KB
HibernateBuildPlugin$_applyPublishing_closure4$_closure5$_closure6$_closure10.class 3KB
HibernateBuildPlugin$_applyPublishing_closure4$_closure5$_closure7.class 3KB
HibernateBuildPlugin$_applyPublishing_closure4$_closure5$_closure6$_closure11.class 3KB
HibernateBuildPlugin$_applyPublishing_closure3.class 3KB
HibernateBuildPlugin$_applyPublishing_closure2.class 3KB
HibernateBuildPlugin$_applyPublishing_closure4$_closure5$_closure6$_closure9.class 3KB
HibernateBuildPlugin$_applyPublishing_closure4$_closure5$_closure6$_closure8.class 3KB
COPYRIGHT 866B
asciidoctor.css 29KB
asciidoctor.css 29KB
asciidoctor.css 29KB
hibernate-fonts.css 25KB
hibernate-fonts.css 25KB
hibernate-fonts.css 25KB
stylesheet.css 12KB
stylesheet.css 12KB
hibernate-layout.css 7KB
共 20957 条
- 1
- 2
- 3
- 4
- 5
- 6
- 210
资源评论
- zhanghz20092019-02-14是我需要的资源,不错
- m0_379655512019-04-07哈哈 官网下的太慢了
编程开发分享者
- 粉丝: 5340
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功