HHH-6371 - Develop metamodel binding creation using a push approach
This commit is contained in:
parent
c4c8c28a3b
commit
e339dac91e
|
@ -76,7 +76,7 @@ task jaxb {
|
||||||
// hibernate-configuration
|
// hibernate-configuration
|
||||||
ant.xjc(
|
ant.xjc(
|
||||||
destdir: '${jaxbTargetDir}',
|
destdir: '${jaxbTargetDir}',
|
||||||
package: 'org.hibernate.metamodel.source.hbm.xml.config',
|
package: 'org.hibernate.metamodel.source.hbm.jaxb.config',
|
||||||
binding: 'src/main/xjb/hbm-configuration-bindings.xjb',
|
binding: 'src/main/xjb/hbm-configuration-bindings.xjb',
|
||||||
schema: cfgXsd.path
|
schema: cfgXsd.path
|
||||||
)
|
)
|
||||||
|
@ -84,7 +84,7 @@ task jaxb {
|
||||||
// hibernate-mapping
|
// hibernate-mapping
|
||||||
ant.xjc(
|
ant.xjc(
|
||||||
destdir: '${jaxbTargetDir}',
|
destdir: '${jaxbTargetDir}',
|
||||||
package: 'org.hibernate.metamodel.source.hbm.xml.mapping',
|
package: 'org.hibernate.metamodel.source.hbm.jaxb.mapping',
|
||||||
binding: hbmXjb.path,
|
binding: hbmXjb.path,
|
||||||
schema: hbmXsd.path,
|
schema: hbmXsd.path,
|
||||||
extension: 'true'
|
extension: 'true'
|
||||||
|
@ -95,7 +95,7 @@ task jaxb {
|
||||||
// orm.xml (jpa)
|
// orm.xml (jpa)
|
||||||
ant.xjc(
|
ant.xjc(
|
||||||
destdir: '${jaxbTargetDir}',
|
destdir: '${jaxbTargetDir}',
|
||||||
package: 'org.hibernate.metamodel.source.annotation.xml',
|
package: 'org.hibernate.metamodel.source.annotation.jaxb',
|
||||||
binding: 'src/main/xjb/orm-bindings.xjb',
|
binding: 'src/main/xjb/orm-bindings.xjb',
|
||||||
schema: ormXsd.path
|
schema: ormXsd.path
|
||||||
)
|
)
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
package org.hibernate;
|
package org.hibernate;
|
||||||
|
|
||||||
import org.hibernate.internal.util.xml.XmlDocument;
|
import org.hibernate.internal.util.xml.XmlDocument;
|
||||||
import org.hibernate.metamodel.binder.Origin;
|
import org.hibernate.metamodel.source.Origin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Thrown when a mapping is found to be invalid.
|
* Thrown when a mapping is found to be invalid.
|
||||||
|
|
|
@ -26,7 +26,7 @@ package org.hibernate.event.service.internal;
|
||||||
import org.hibernate.cfg.Configuration;
|
import org.hibernate.cfg.Configuration;
|
||||||
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
||||||
import org.hibernate.event.service.spi.EventListenerRegistry;
|
import org.hibernate.event.service.spi.EventListenerRegistry;
|
||||||
import org.hibernate.metamodel.binder.source.MetadataImplementor;
|
import org.hibernate.metamodel.source.MetadataImplementor;
|
||||||
import org.hibernate.service.spi.ServiceRegistryImplementor;
|
import org.hibernate.service.spi.ServiceRegistryImplementor;
|
||||||
import org.hibernate.service.spi.SessionFactoryServiceInitiator;
|
import org.hibernate.service.spi.SessionFactoryServiceInitiator;
|
||||||
|
|
||||||
|
|
|
@ -112,7 +112,7 @@ import org.hibernate.mapping.PersistentClass;
|
||||||
import org.hibernate.mapping.RootClass;
|
import org.hibernate.mapping.RootClass;
|
||||||
import org.hibernate.metadata.ClassMetadata;
|
import org.hibernate.metadata.ClassMetadata;
|
||||||
import org.hibernate.metadata.CollectionMetadata;
|
import org.hibernate.metadata.CollectionMetadata;
|
||||||
import org.hibernate.metamodel.binder.source.MetadataImplementor;
|
import org.hibernate.metamodel.source.MetadataImplementor;
|
||||||
import org.hibernate.metamodel.binding.EntityBinding;
|
import org.hibernate.metamodel.binding.EntityBinding;
|
||||||
import org.hibernate.metamodel.binding.PluralAttributeBinding;
|
import org.hibernate.metamodel.binding.PluralAttributeBinding;
|
||||||
import org.hibernate.persister.collection.CollectionPersister;
|
import org.hibernate.persister.collection.CollectionPersister;
|
||||||
|
|
|
@ -43,13 +43,13 @@ import org.xml.sax.EntityResolver;
|
||||||
import org.hibernate.cfg.EJB3DTDEntityResolver;
|
import org.hibernate.cfg.EJB3DTDEntityResolver;
|
||||||
import org.hibernate.cfg.EJB3NamingStrategy;
|
import org.hibernate.cfg.EJB3NamingStrategy;
|
||||||
import org.hibernate.cfg.NamingStrategy;
|
import org.hibernate.cfg.NamingStrategy;
|
||||||
import org.hibernate.metamodel.binder.MappingException;
|
import org.hibernate.metamodel.source.MappingException;
|
||||||
import org.hibernate.metamodel.binder.MappingNotFoundException;
|
import org.hibernate.metamodel.source.MappingNotFoundException;
|
||||||
import org.hibernate.metamodel.binder.Origin;
|
import org.hibernate.metamodel.source.Origin;
|
||||||
import org.hibernate.metamodel.binder.SourceType;
|
import org.hibernate.metamodel.source.SourceType;
|
||||||
import org.hibernate.metamodel.binder.source.internal.JaxbHelper;
|
import org.hibernate.metamodel.source.internal.JaxbHelper;
|
||||||
import org.hibernate.metamodel.binder.source.internal.JaxbRoot;
|
import org.hibernate.metamodel.source.internal.JaxbRoot;
|
||||||
import org.hibernate.metamodel.binder.source.internal.MetadataBuilderImpl;
|
import org.hibernate.metamodel.source.internal.MetadataBuilderImpl;
|
||||||
import org.hibernate.service.BasicServiceRegistry;
|
import org.hibernate.service.BasicServiceRegistry;
|
||||||
import org.hibernate.service.classloading.spi.ClassLoaderService;
|
import org.hibernate.service.classloading.spi.ClassLoaderService;
|
||||||
|
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Steve Ebersole
|
|
||||||
*/
|
|
||||||
public interface DiscriminatorSubClassEntityDescriptor extends EntityDescriptor {
|
|
||||||
}
|
|
|
@ -1,132 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source;
|
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import org.hibernate.EntityMode;
|
|
||||||
import org.hibernate.metamodel.binding.Caching;
|
|
||||||
import org.hibernate.metamodel.binding.CustomSQL;
|
|
||||||
import org.hibernate.metamodel.binding.InheritanceType;
|
|
||||||
import org.hibernate.metamodel.domain.Hierarchical;
|
|
||||||
import org.hibernate.persister.entity.EntityPersister;
|
|
||||||
import org.hibernate.tuple.entity.EntityTuplizer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Represents the normalized set of mapping information about a specific entity.
|
|
||||||
*
|
|
||||||
* @author Gail Badner
|
|
||||||
* @author Steve Ebersole
|
|
||||||
*/
|
|
||||||
public interface EntityDescriptor extends UnifiedDescriptorObject {
|
|
||||||
/**
|
|
||||||
* Obtain the Hibernate entity name.
|
|
||||||
*
|
|
||||||
* @return The entity name.
|
|
||||||
*/
|
|
||||||
public String getEntityName();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Obtain the JPA entity name.
|
|
||||||
*
|
|
||||||
* @return The JPA entity name
|
|
||||||
*/
|
|
||||||
public String getJpaEntityName();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Obtain the entity mode represented by this state.
|
|
||||||
*
|
|
||||||
* @return The entity mode.
|
|
||||||
*/
|
|
||||||
public EntityMode getEntityMode();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Obtain the name of the entity class.
|
|
||||||
*
|
|
||||||
* @return The entity class name.
|
|
||||||
*/
|
|
||||||
public String getClassName();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The name of an interface to use for creating instance proxies for this entity.
|
|
||||||
*
|
|
||||||
* @return The name of the proxy interface.
|
|
||||||
*/
|
|
||||||
public String getProxyInterfaceName();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Obtains the type of inheritance defined for this entity hierarchy
|
|
||||||
*
|
|
||||||
* @return The inheritance strategy for this entity.
|
|
||||||
*/
|
|
||||||
public InheritanceType getEntityInheritanceType();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Obtain the super type for this entity.
|
|
||||||
*
|
|
||||||
* @return This entity's super type.
|
|
||||||
*/
|
|
||||||
public String getSuperEntityName();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Obtain the custom {@link EntityPersister} class defined in this mapping. {@code null} indicates the default
|
|
||||||
* should be used.
|
|
||||||
*
|
|
||||||
* @return The custom {@link EntityPersister} class to use; or {@code null}
|
|
||||||
*/
|
|
||||||
public Class<? extends EntityPersister> getCustomEntityPersisterClass();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Obtain the custom {@link EntityTuplizer} class defined in this mapping. {@code null} indicates the default
|
|
||||||
* should be used.
|
|
||||||
*
|
|
||||||
* @return The custom {@link EntityTuplizer} class to use; or {@code null}
|
|
||||||
*/
|
|
||||||
public Class<? extends EntityTuplizer> getCustomEntityTuplizerClass();
|
|
||||||
|
|
||||||
|
|
||||||
boolean isLazy();
|
|
||||||
|
|
||||||
boolean isDynamicUpdate();
|
|
||||||
|
|
||||||
boolean isDynamicInsert();
|
|
||||||
|
|
||||||
int getBatchSize();
|
|
||||||
|
|
||||||
boolean isSelectBeforeUpdate();
|
|
||||||
|
|
||||||
Boolean isAbstract();
|
|
||||||
|
|
||||||
String getCustomLoaderName();
|
|
||||||
|
|
||||||
CustomSQL getCustomInsert();
|
|
||||||
|
|
||||||
CustomSQL getCustomUpdate();
|
|
||||||
|
|
||||||
CustomSQL getCustomDelete();
|
|
||||||
|
|
||||||
Set<String> getSynchronizedTableNames();
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Steve Ebersole
|
|
||||||
*/
|
|
||||||
public interface JoinedSubClassEntityDescriptor extends EntityDescriptor {
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Steve Ebersole
|
|
||||||
*/
|
|
||||||
public interface TableDescriptor extends UnifiedDescriptorObject {
|
|
||||||
public String getExplicitSchemaName();
|
|
||||||
public String getExplicitCatalogName();
|
|
||||||
public String getTableName();
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source;
|
|
||||||
|
|
||||||
import org.hibernate.metamodel.binder.Origin;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Steve Ebersole
|
|
||||||
*/
|
|
||||||
public interface UnifiedDescriptorObject {
|
|
||||||
public Origin getOrigin();
|
|
||||||
public UnifiedDescriptorObject getContainingDescriptor();
|
|
||||||
public MetaAttributeContext getMetaAttributeContext();
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Steve Ebersole
|
|
||||||
*/
|
|
||||||
public interface UnionSubClassEntityDescriptor extends EntityDescriptor {
|
|
||||||
}
|
|
|
@ -1,358 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import org.jboss.jandex.AnnotationInstance;
|
|
||||||
import org.jboss.jandex.AnnotationValue;
|
|
||||||
|
|
||||||
import org.hibernate.EntityMode;
|
|
||||||
import org.hibernate.annotations.ResultCheckStyle;
|
|
||||||
import org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle;
|
|
||||||
import org.hibernate.metamodel.binder.Origin;
|
|
||||||
import org.hibernate.metamodel.binder.source.EntityDescriptor;
|
|
||||||
import org.hibernate.metamodel.binder.source.MetaAttributeContext;
|
|
||||||
import org.hibernate.metamodel.binder.source.UnifiedDescriptorObject;
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.ConfiguredClass;
|
|
||||||
import org.hibernate.metamodel.binding.CustomSQL;
|
|
||||||
import org.hibernate.metamodel.binding.InheritanceType;
|
|
||||||
import org.hibernate.persister.entity.EntityPersister;
|
|
||||||
import org.hibernate.tuple.entity.EntityTuplizer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Steve Ebersole
|
|
||||||
*/
|
|
||||||
public abstract class AbstractEntityDescriptorImpl implements EntityDescriptor {
|
|
||||||
private final ConfiguredClass configuredClass;
|
|
||||||
@SuppressWarnings( {"FieldCanBeLocal", "UnusedDeclaration"}) // for now this is not used.
|
|
||||||
private final AnnotationsBindingContext bindingContext;
|
|
||||||
|
|
||||||
private final String jpaEntityName;
|
|
||||||
|
|
||||||
private final String superEntityName;
|
|
||||||
private final InheritanceType inheritanceType;
|
|
||||||
|
|
||||||
private final boolean lazy;
|
|
||||||
private final String proxyInterfaceName;
|
|
||||||
|
|
||||||
private final Class<EntityPersister> entityPersisterClass;
|
|
||||||
private final Class<EntityTuplizer> tuplizerClass;
|
|
||||||
|
|
||||||
private final int batchSize;
|
|
||||||
|
|
||||||
private final boolean dynamicUpdate;
|
|
||||||
private final boolean dynamicInsert;
|
|
||||||
|
|
||||||
private final boolean selectBeforeUpdate;
|
|
||||||
|
|
||||||
private final String customLoaderName;
|
|
||||||
private final CustomSQL customInsert;
|
|
||||||
private final CustomSQL customUpdate;
|
|
||||||
private final CustomSQL customDelete;
|
|
||||||
|
|
||||||
private final Set<String> synchronizedTableNames;
|
|
||||||
|
|
||||||
public AbstractEntityDescriptorImpl(
|
|
||||||
ConfiguredClass configuredClass,
|
|
||||||
String superEntityName,
|
|
||||||
InheritanceType inheritanceType,
|
|
||||||
AnnotationsBindingContext bindingContext) {
|
|
||||||
this.configuredClass = configuredClass;
|
|
||||||
this.superEntityName = superEntityName;
|
|
||||||
this.inheritanceType = inheritanceType;
|
|
||||||
this.bindingContext = bindingContext;
|
|
||||||
|
|
||||||
final AnnotationInstance jpaEntityAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), JPADotNames.ENTITY
|
|
||||||
);
|
|
||||||
|
|
||||||
final AnnotationValue explicitJpaEntityName = jpaEntityAnnotation.value( "name" );
|
|
||||||
if ( explicitJpaEntityName == null ) {
|
|
||||||
jpaEntityName = configuredClass.getName();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
jpaEntityName = explicitJpaEntityName.asString();
|
|
||||||
}
|
|
||||||
|
|
||||||
final AnnotationInstance hibernateEntityAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.ENTITY
|
|
||||||
);
|
|
||||||
|
|
||||||
this.dynamicInsert = hibernateEntityAnnotation != null
|
|
||||||
&& hibernateEntityAnnotation.value( "dynamicInsert" ) != null
|
|
||||||
&& hibernateEntityAnnotation.value( "dynamicInsert" ).asBoolean();
|
|
||||||
|
|
||||||
this.dynamicUpdate = hibernateEntityAnnotation != null
|
|
||||||
&& hibernateEntityAnnotation.value( "dynamicUpdate" ) != null
|
|
||||||
&& hibernateEntityAnnotation.value( "dynamicUpdate" ).asBoolean();
|
|
||||||
|
|
||||||
this.selectBeforeUpdate = hibernateEntityAnnotation != null
|
|
||||||
&& hibernateEntityAnnotation.value( "selectBeforeUpdate" ) != null
|
|
||||||
&& hibernateEntityAnnotation.value( "selectBeforeUpdate" ).asBoolean();
|
|
||||||
|
|
||||||
final AnnotationInstance sqlLoaderAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.LOADER
|
|
||||||
);
|
|
||||||
this.customLoaderName = sqlLoaderAnnotation == null
|
|
||||||
? null
|
|
||||||
: sqlLoaderAnnotation.value( "namedQuery" ).asString();
|
|
||||||
final AnnotationInstance sqlInsertAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.SQL_INSERT
|
|
||||||
);
|
|
||||||
this.customInsert = createCustomSQL( sqlInsertAnnotation );
|
|
||||||
final AnnotationInstance sqlUpdateAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.SQL_UPDATE
|
|
||||||
);
|
|
||||||
this.customUpdate = createCustomSQL( sqlUpdateAnnotation );
|
|
||||||
final AnnotationInstance sqlDeleteAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.SQL_DELETE
|
|
||||||
);
|
|
||||||
this.customDelete = createCustomSQL( sqlDeleteAnnotation );
|
|
||||||
|
|
||||||
final AnnotationInstance batchSizeAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.BATCH_SIZE
|
|
||||||
);
|
|
||||||
this.batchSize = batchSizeAnnotation == null
|
|
||||||
? -1
|
|
||||||
: batchSizeAnnotation.value( "size" ).asInt();
|
|
||||||
|
|
||||||
final AnnotationInstance hibernateProxyAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.PROXY
|
|
||||||
);
|
|
||||||
if ( hibernateProxyAnnotation != null ) {
|
|
||||||
this.lazy = hibernateProxyAnnotation.value( "lazy" ) == null
|
|
||||||
|| hibernateProxyAnnotation.value( "lazy" ).asBoolean();
|
|
||||||
final AnnotationValue proxyClassValue = hibernateProxyAnnotation.value( "proxyClass" );
|
|
||||||
if ( proxyClassValue == null ) {
|
|
||||||
this.proxyInterfaceName = null;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
this.proxyInterfaceName = bindingContext.locateClassByName( proxyClassValue.asString() ).getName();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
this.lazy = true;
|
|
||||||
this.proxyInterfaceName = configuredClass.getName();
|
|
||||||
}
|
|
||||||
|
|
||||||
final AnnotationInstance persisterAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.PERSISTER
|
|
||||||
);
|
|
||||||
if ( persisterAnnotation == null || persisterAnnotation.value( "impl" ) == null ) {
|
|
||||||
if ( hibernateEntityAnnotation != null && hibernateEntityAnnotation.value( "persister" ) != null ) {
|
|
||||||
this.entityPersisterClass = bindingContext.locateClassByName( hibernateEntityAnnotation.value( "persister" ).asString() );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
this.entityPersisterClass = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if ( hibernateEntityAnnotation != null && hibernateEntityAnnotation.value( "persister" ) != null ) {
|
|
||||||
// todo : error?
|
|
||||||
}
|
|
||||||
this.entityPersisterClass = bindingContext.locateClassByName( persisterAnnotation.value( "impl" ).asString() );
|
|
||||||
}
|
|
||||||
|
|
||||||
final AnnotationInstance pojoTuplizerAnnotation = locatePojoTuplizerAnnotation();
|
|
||||||
if ( pojoTuplizerAnnotation == null ) {
|
|
||||||
tuplizerClass = null;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
tuplizerClass = bindingContext.locateClassByName( pojoTuplizerAnnotation.value( "impl" ).asString() );
|
|
||||||
}
|
|
||||||
|
|
||||||
final AnnotationInstance synchronizeAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.SYNCHRONIZE
|
|
||||||
);
|
|
||||||
if ( synchronizeAnnotation != null ) {
|
|
||||||
synchronizedTableNames = new HashSet<String>();
|
|
||||||
final String[] tableNames = synchronizeAnnotation.value().asStringArray();
|
|
||||||
synchronizedTableNames.addAll( Arrays.asList( tableNames ) );
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
synchronizedTableNames = java.util.Collections.emptySet();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private CustomSQL createCustomSQL(AnnotationInstance customSQLAnnotation) {
|
|
||||||
if ( customSQLAnnotation == null ) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
String sql = customSQLAnnotation.value( "sql" ).asString();
|
|
||||||
boolean isCallable = false;
|
|
||||||
AnnotationValue callableValue = customSQLAnnotation.value( "callable" );
|
|
||||||
if ( callableValue != null ) {
|
|
||||||
isCallable = callableValue.asBoolean();
|
|
||||||
}
|
|
||||||
|
|
||||||
ResultCheckStyle checkStyle = ResultCheckStyle.NONE;
|
|
||||||
AnnotationValue checkStyleValue = customSQLAnnotation.value( "check" );
|
|
||||||
if ( checkStyleValue != null ) {
|
|
||||||
checkStyle = Enum.valueOf( ResultCheckStyle.class, checkStyleValue.asEnum() );
|
|
||||||
}
|
|
||||||
|
|
||||||
return new CustomSQL(
|
|
||||||
sql,
|
|
||||||
isCallable,
|
|
||||||
Enum.valueOf( ExecuteUpdateResultCheckStyle.class, checkStyle.toString() )
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
private AnnotationInstance locatePojoTuplizerAnnotation() {
|
|
||||||
final AnnotationInstance tuplizersAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.SYNCHRONIZE
|
|
||||||
);
|
|
||||||
if ( tuplizersAnnotation == null ) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
for ( AnnotationInstance tuplizerAnnotation : JandexHelper.getValueAsArray(tuplizersAnnotation, "value" ) ) {
|
|
||||||
if ( EntityMode.valueOf( tuplizerAnnotation.value( "entityModeType" ).asEnum() ) == EntityMode.POJO ) {
|
|
||||||
return tuplizerAnnotation;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getClassName() {
|
|
||||||
return configuredClass.getName();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getEntityName() {
|
|
||||||
return getClassName();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getJpaEntityName() {
|
|
||||||
return jpaEntityName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public EntityMode getEntityMode() {
|
|
||||||
return EntityMode.POJO;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getProxyInterfaceName() {
|
|
||||||
return proxyInterfaceName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Class<EntityPersister> getCustomEntityPersisterClass() {
|
|
||||||
return entityPersisterClass;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Class<EntityTuplizer> getCustomEntityTuplizerClass() {
|
|
||||||
return tuplizerClass;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getSuperEntityName() {
|
|
||||||
return superEntityName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public InheritanceType getEntityInheritanceType() {
|
|
||||||
return inheritanceType;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MetaAttributeContext getMetaAttributeContext() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isLazy() {
|
|
||||||
return lazy;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isDynamicUpdate() {
|
|
||||||
return dynamicUpdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isDynamicInsert() {
|
|
||||||
return dynamicInsert;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getBatchSize() {
|
|
||||||
return batchSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isSelectBeforeUpdate() {
|
|
||||||
return selectBeforeUpdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Boolean isAbstract() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getCustomLoaderName() {
|
|
||||||
return customLoaderName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CustomSQL getCustomInsert() {
|
|
||||||
return customInsert;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CustomSQL getCustomUpdate() {
|
|
||||||
return customUpdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CustomSQL getCustomDelete() {
|
|
||||||
return customDelete;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Set<String> getSynchronizedTableNames() {
|
|
||||||
return synchronizedTableNames;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public UnifiedDescriptorObject getContainingDescriptor() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Origin getOrigin() {
|
|
||||||
// return bindingContext.getOrigin();
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,131 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.jboss.jandex.AnnotationInstance;
|
|
||||||
import org.jboss.jandex.AnnotationValue;
|
|
||||||
import org.jboss.jandex.Index;
|
|
||||||
|
|
||||||
import org.hibernate.cfg.NamingStrategy;
|
|
||||||
import org.hibernate.internal.util.Value;
|
|
||||||
import org.hibernate.metamodel.binder.source.MappingDefaults;
|
|
||||||
import org.hibernate.metamodel.binder.source.MetadataImplementor;
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.ConfiguredClass;
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.EntityBinder;
|
|
||||||
import org.hibernate.metamodel.binder.source.internal.OverriddenMappingDefaults;
|
|
||||||
import org.hibernate.metamodel.domain.Type;
|
|
||||||
import org.hibernate.service.ServiceRegistry;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Hardy Ferentschik
|
|
||||||
* @author Steve Ebersole
|
|
||||||
*/
|
|
||||||
public class AnnotationsMetadataProcessor implements AnnotationsBindingContext {
|
|
||||||
private final AnnotationsBindingContext parentBindingContext;
|
|
||||||
private final ConfiguredClass configuredClass;
|
|
||||||
|
|
||||||
private final MappingDefaults mappingDefaults;
|
|
||||||
|
|
||||||
private final EntityBinder entityBinder;
|
|
||||||
|
|
||||||
public AnnotationsMetadataProcessor(
|
|
||||||
AnnotationsBindingContext parentBindingContext,
|
|
||||||
ConfiguredClass configuredClass) {
|
|
||||||
this.parentBindingContext = parentBindingContext;
|
|
||||||
this.configuredClass = configuredClass;
|
|
||||||
|
|
||||||
String explicitSchemaName = null;
|
|
||||||
String explicitCatalogName = null;
|
|
||||||
AnnotationInstance tableAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(),
|
|
||||||
JPADotNames.TABLE
|
|
||||||
);
|
|
||||||
if ( tableAnnotation != null ) {
|
|
||||||
AnnotationValue schemaValue = tableAnnotation.value( "schema" );
|
|
||||||
explicitSchemaName = schemaValue != null ? schemaValue.asString() : null;
|
|
||||||
AnnotationValue catalogValue = tableAnnotation.value( "catalog" );
|
|
||||||
explicitCatalogName = catalogValue != null ? catalogValue.asString() : null;
|
|
||||||
}
|
|
||||||
this.mappingDefaults = new OverriddenMappingDefaults(
|
|
||||||
parentBindingContext.getMappingDefaults(),
|
|
||||||
null, // packageName
|
|
||||||
explicitSchemaName,
|
|
||||||
explicitCatalogName,
|
|
||||||
null, // idColumnName
|
|
||||||
null, // discriminatorColumnName
|
|
||||||
null, // cascade
|
|
||||||
null, // property accessor
|
|
||||||
null // association laziness
|
|
||||||
);
|
|
||||||
|
|
||||||
this.entityBinder = new EntityBinder( configuredClass, this );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void processMappingMetadata(List<String> processedEntityNames) {
|
|
||||||
entityBinder.bind( processedEntityNames );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Index getIndex() {
|
|
||||||
return parentBindingContext.getIndex();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ServiceRegistry getServiceRegistry() {
|
|
||||||
return parentBindingContext.getServiceRegistry();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public NamingStrategy getNamingStrategy() {
|
|
||||||
return parentBindingContext.getNamingStrategy();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MappingDefaults getMappingDefaults() {
|
|
||||||
return mappingDefaults;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MetadataImplementor getMetadataImplementor() {
|
|
||||||
return parentBindingContext.getMetadataImplementor();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public <T> Class<T> locateClassByName(String name) {
|
|
||||||
return parentBindingContext.locateClassByName( name );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Type makeJavaType(String className) {
|
|
||||||
return parentBindingContext.makeJavaType( className );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Value<Class<?>> makeClassReference(String className) {
|
|
||||||
return parentBindingContext.makeClassReference( className );
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,209 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
|
||||||
|
|
||||||
import javax.persistence.SharedCacheMode;
|
|
||||||
|
|
||||||
import org.jboss.jandex.AnnotationInstance;
|
|
||||||
|
|
||||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
|
||||||
import org.hibernate.annotations.OptimisticLockType;
|
|
||||||
import org.hibernate.annotations.PolymorphismType;
|
|
||||||
import org.hibernate.cache.spi.access.AccessType;
|
|
||||||
import org.hibernate.engine.OptimisticLockStyle;
|
|
||||||
import org.hibernate.metamodel.binder.source.RootEntityDescriptor;
|
|
||||||
import org.hibernate.metamodel.binder.source.TableDescriptor;
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.ConfiguredClass;
|
|
||||||
import org.hibernate.metamodel.binding.Caching;
|
|
||||||
import org.hibernate.metamodel.binding.InheritanceType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Steve Ebersole
|
|
||||||
* @author Gail Badner
|
|
||||||
* @author Hardy Ferentschik
|
|
||||||
*/
|
|
||||||
public class RootEntityDescriptorImpl extends AbstractEntityDescriptorImpl implements RootEntityDescriptor {
|
|
||||||
private final boolean mutable;
|
|
||||||
private final boolean explicitPolymorphism;
|
|
||||||
private final String whereFilter;
|
|
||||||
private final String rowId;
|
|
||||||
private final Caching caching;
|
|
||||||
private final OptimisticLockStyle optimisticLockStyle;
|
|
||||||
|
|
||||||
private final TableDescriptor baseTableDescriptor;
|
|
||||||
|
|
||||||
public RootEntityDescriptorImpl(ConfiguredClass configuredClass, AnnotationsBindingContext bindingContext) {
|
|
||||||
super( configuredClass, null, InheritanceType.NO_INHERITANCE, bindingContext );
|
|
||||||
|
|
||||||
final AnnotationInstance hibernateEntityAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.ENTITY
|
|
||||||
);
|
|
||||||
|
|
||||||
OptimisticLockType optimisticLockType = OptimisticLockType.VERSION;
|
|
||||||
if ( hibernateEntityAnnotation != null && hibernateEntityAnnotation.value( "optimisticLock" ) != null ) {
|
|
||||||
optimisticLockType = OptimisticLockType.valueOf( hibernateEntityAnnotation.value( "optimisticLock" ).asEnum() );
|
|
||||||
}
|
|
||||||
this.optimisticLockStyle = OptimisticLockStyle.valueOf( optimisticLockType.name() );
|
|
||||||
|
|
||||||
final PolymorphismType polymorphism = hibernateEntityAnnotation != null && hibernateEntityAnnotation.value( "polymorphism" ) != null
|
|
||||||
? PolymorphismType.valueOf( hibernateEntityAnnotation.value( "polymorphism" ).asEnum() )
|
|
||||||
: PolymorphismType.IMPLICIT;
|
|
||||||
this.explicitPolymorphism = polymorphism != PolymorphismType.IMPLICIT;
|
|
||||||
|
|
||||||
final AnnotationInstance hibernateImmutableAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.IMMUTABLE
|
|
||||||
);
|
|
||||||
this.mutable = hibernateImmutableAnnotation == null
|
|
||||||
&& hibernateEntityAnnotation != null
|
|
||||||
&& hibernateEntityAnnotation.value( "mutable" ) != null
|
|
||||||
&& hibernateEntityAnnotation.value( "mutable" ).asBoolean();
|
|
||||||
|
|
||||||
final AnnotationInstance whereAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.WHERE
|
|
||||||
);
|
|
||||||
this.whereFilter = whereAnnotation != null && whereAnnotation.value( "clause" ) != null
|
|
||||||
? whereAnnotation.value( "clause" ).asString()
|
|
||||||
: null;
|
|
||||||
|
|
||||||
final AnnotationInstance rowIdAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.ROW_ID
|
|
||||||
);
|
|
||||||
this.rowId = rowIdAnnotation != null && rowIdAnnotation.value() != null
|
|
||||||
? rowIdAnnotation.value().asString()
|
|
||||||
: null;
|
|
||||||
|
|
||||||
this.caching = interpretCaching( configuredClass, bindingContext );
|
|
||||||
|
|
||||||
final AnnotationInstance tableAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), JPADotNames.TABLE
|
|
||||||
);
|
|
||||||
this.baseTableDescriptor = new TableDescriptorImpl(
|
|
||||||
tableAnnotation.value( "schema" ) == null
|
|
||||||
? null
|
|
||||||
: tableAnnotation.value( "schema" ).asString(),
|
|
||||||
tableAnnotation.value( "catalog" ) == null
|
|
||||||
? null
|
|
||||||
: tableAnnotation.value( "catalog" ).asString(),
|
|
||||||
tableAnnotation.value( "name" ) == null
|
|
||||||
? null
|
|
||||||
: tableAnnotation.value( "name" ).asString(),
|
|
||||||
this,
|
|
||||||
bindingContext
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Caching interpretCaching(ConfiguredClass configuredClass, AnnotationsBindingContext bindingContext) {
|
|
||||||
final AnnotationInstance hibernateCacheAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), HibernateDotNames.CACHE
|
|
||||||
);
|
|
||||||
if ( hibernateCacheAnnotation != null ) {
|
|
||||||
final AccessType accessType = hibernateCacheAnnotation.value( "usage" ) == null
|
|
||||||
? bindingContext.getMappingDefaults().getCacheAccessType()
|
|
||||||
: CacheConcurrencyStrategy.parse( hibernateCacheAnnotation.value( "usage" ).asEnum() ).toAccessType();
|
|
||||||
return new Caching(
|
|
||||||
hibernateCacheAnnotation.value( "region" ) == null
|
|
||||||
? configuredClass.getName()
|
|
||||||
: hibernateCacheAnnotation.value( "region" ).asString(),
|
|
||||||
accessType,
|
|
||||||
hibernateCacheAnnotation.value( "include" ) != null
|
|
||||||
&& "all".equals( hibernateCacheAnnotation.value( "include" ).asString() )
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
final AnnotationInstance jpaCacheableAnnotation = JandexHelper.getSingleAnnotation(
|
|
||||||
configuredClass.getClassInfo(), JPADotNames.CACHEABLE
|
|
||||||
);
|
|
||||||
|
|
||||||
boolean cacheable = true; // true is the default
|
|
||||||
if ( jpaCacheableAnnotation != null && jpaCacheableAnnotation.value() != null ) {
|
|
||||||
cacheable = jpaCacheableAnnotation.value().asBoolean();
|
|
||||||
}
|
|
||||||
|
|
||||||
final boolean doCaching;
|
|
||||||
switch ( bindingContext.getMetadataImplementor().getOptions().getSharedCacheMode() ) {
|
|
||||||
case ALL: {
|
|
||||||
doCaching = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case ENABLE_SELECTIVE: {
|
|
||||||
doCaching = cacheable;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case DISABLE_SELECTIVE: {
|
|
||||||
doCaching = jpaCacheableAnnotation == null || cacheable;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
// treat both NONE and UNSPECIFIED the same
|
|
||||||
doCaching = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! doCaching ) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Caching(
|
|
||||||
configuredClass.getName(),
|
|
||||||
bindingContext.getMappingDefaults().getCacheAccessType(),
|
|
||||||
true
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isMutable() {
|
|
||||||
return mutable;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isExplicitPolymorphism() {
|
|
||||||
return explicitPolymorphism;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getWhereFilter() {
|
|
||||||
return whereFilter;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getRowId() {
|
|
||||||
return rowId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Caching getCaching() {
|
|
||||||
return caching;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public OptimisticLockStyle getOptimisticLockStyle() {
|
|
||||||
return optimisticLockStyle;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public TableDescriptor getBaseTable() {
|
|
||||||
return baseTableDescriptor;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,85 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
|
||||||
|
|
||||||
import org.hibernate.metamodel.binder.Origin;
|
|
||||||
import org.hibernate.metamodel.binder.source.EntityDescriptor;
|
|
||||||
import org.hibernate.metamodel.binder.source.MetaAttributeContext;
|
|
||||||
import org.hibernate.metamodel.binder.source.TableDescriptor;
|
|
||||||
import org.hibernate.metamodel.binder.source.UnifiedDescriptorObject;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Steve Ebersole
|
|
||||||
*/
|
|
||||||
public class TableDescriptorImpl implements TableDescriptor {
|
|
||||||
private final String explicitSchemaName;
|
|
||||||
private final String explicitCatalogName;
|
|
||||||
private final String tableName;
|
|
||||||
|
|
||||||
private final EntityDescriptor entityDescriptor;
|
|
||||||
private final AnnotationsBindingContext bindingContext;
|
|
||||||
|
|
||||||
public TableDescriptorImpl(
|
|
||||||
String explicitSchemaName,
|
|
||||||
String explicitCatalogName,
|
|
||||||
String tableName,
|
|
||||||
EntityDescriptor entityDescriptor, AnnotationsBindingContext bindingContext) {
|
|
||||||
this.explicitSchemaName = explicitSchemaName;
|
|
||||||
this.explicitCatalogName = explicitCatalogName;
|
|
||||||
this.tableName = tableName;
|
|
||||||
this.entityDescriptor = entityDescriptor;
|
|
||||||
this.bindingContext = bindingContext;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getExplicitSchemaName() {
|
|
||||||
return explicitSchemaName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getExplicitCatalogName() {
|
|
||||||
return explicitCatalogName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getTableName() {
|
|
||||||
return tableName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Origin getOrigin() {
|
|
||||||
// return bindingContext.getOrigin();
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public UnifiedDescriptorObject getContainingDescriptor() {
|
|
||||||
return entityDescriptor;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MetaAttributeContext getMetaAttributeContext() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,259 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source.annotations.entity.state.binding;
|
|
||||||
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import org.hibernate.EntityMode;
|
|
||||||
import org.hibernate.metamodel.binder.Origin;
|
|
||||||
import org.hibernate.metamodel.binder.source.BindingContext;
|
|
||||||
import org.hibernate.metamodel.binder.source.EntityDescriptor;
|
|
||||||
import org.hibernate.metamodel.binder.source.MetaAttributeContext;
|
|
||||||
import org.hibernate.metamodel.binder.source.UnifiedDescriptorObject;
|
|
||||||
import org.hibernate.metamodel.binding.CustomSQL;
|
|
||||||
import org.hibernate.metamodel.binding.InheritanceType;
|
|
||||||
import org.hibernate.metamodel.source.annotations.entity.EntityClass;
|
|
||||||
import org.hibernate.persister.entity.EntityPersister;
|
|
||||||
import org.hibernate.tuple.entity.EntityTuplizer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Hardy Ferentschik
|
|
||||||
*/
|
|
||||||
public abstract class AbstractEntityDescriptorImpl implements EntityDescriptor {
|
|
||||||
private final BindingContext bindingContext;
|
|
||||||
|
|
||||||
private final String className;
|
|
||||||
private final String superEntityName;
|
|
||||||
private final InheritanceType inheritanceType;
|
|
||||||
|
|
||||||
private String jpaEntityName;
|
|
||||||
|
|
||||||
private boolean lazy;
|
|
||||||
private String proxyInterfaceName;
|
|
||||||
|
|
||||||
private Class<? extends EntityPersister> persisterClass;
|
|
||||||
private Class<? extends EntityTuplizer> tuplizerClass;
|
|
||||||
|
|
||||||
private boolean dynamicUpdate;
|
|
||||||
private boolean dynamicInsert;
|
|
||||||
|
|
||||||
private int batchSize = -1;
|
|
||||||
private boolean selectBeforeUpdate;
|
|
||||||
|
|
||||||
private String customLoaderName;
|
|
||||||
private CustomSQL customInsert;
|
|
||||||
private CustomSQL customUpdate;
|
|
||||||
private CustomSQL customDelete;
|
|
||||||
|
|
||||||
private Set<String> synchronizedTableNames = new HashSet<String>();
|
|
||||||
|
|
||||||
public AbstractEntityDescriptorImpl(
|
|
||||||
EntityClass entityClass,
|
|
||||||
String superEntityName,
|
|
||||||
BindingContext bindingContext) {
|
|
||||||
this.bindingContext = bindingContext;
|
|
||||||
|
|
||||||
this.className = entityClass.getName();
|
|
||||||
this.superEntityName = superEntityName;
|
|
||||||
this.inheritanceType = entityClass.getInheritanceType();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getEntityName() {
|
|
||||||
return className;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getClassName() {
|
|
||||||
return className;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getJpaEntityName() {
|
|
||||||
return jpaEntityName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setJpaEntityName(String entityName) {
|
|
||||||
this.jpaEntityName = entityName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public EntityMode getEntityMode() {
|
|
||||||
return EntityMode.POJO;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getSuperEntityName() {
|
|
||||||
return superEntityName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public InheritanceType getEntityInheritanceType() {
|
|
||||||
return inheritanceType;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Boolean isAbstract() {
|
|
||||||
// no annotations equivalent
|
|
||||||
return Boolean.FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isLazy() {
|
|
||||||
return lazy;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLazy(boolean lazy) {
|
|
||||||
this.lazy = lazy;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getProxyInterfaceName() {
|
|
||||||
return proxyInterfaceName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProxyInterfaceName(String proxyInterfaceName) {
|
|
||||||
this.proxyInterfaceName = proxyInterfaceName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Class<? extends EntityPersister> getCustomEntityPersisterClass() {
|
|
||||||
return persisterClass;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPersisterClass(Class<? extends EntityPersister> persisterClass) {
|
|
||||||
this.persisterClass = persisterClass;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Class<? extends EntityTuplizer> getCustomEntityTuplizerClass() {
|
|
||||||
return tuplizerClass;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTuplizerClass(Class<? extends EntityTuplizer> tuplizerClass) {
|
|
||||||
this.tuplizerClass = tuplizerClass;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isDynamicUpdate() {
|
|
||||||
return dynamicUpdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDynamicUpdate(boolean dynamicUpdate) {
|
|
||||||
this.dynamicUpdate = dynamicUpdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isDynamicInsert() {
|
|
||||||
return dynamicInsert;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDynamicInsert(boolean dynamicInsert) {
|
|
||||||
this.dynamicInsert = dynamicInsert;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getBatchSize() {
|
|
||||||
return batchSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBatchSize(int batchSize) {
|
|
||||||
this.batchSize = batchSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isSelectBeforeUpdate() {
|
|
||||||
return selectBeforeUpdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSelectBeforeUpdate(boolean selectBeforeUpdate) {
|
|
||||||
this.selectBeforeUpdate = selectBeforeUpdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getCustomLoaderName() {
|
|
||||||
return customLoaderName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCustomLoaderName(String customLoaderName) {
|
|
||||||
this.customLoaderName = customLoaderName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CustomSQL getCustomInsert() {
|
|
||||||
return customInsert;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCustomInsert(CustomSQL customInsert) {
|
|
||||||
this.customInsert = customInsert;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CustomSQL getCustomUpdate() {
|
|
||||||
return customUpdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCustomUpdate(CustomSQL customUpdate) {
|
|
||||||
this.customUpdate = customUpdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CustomSQL getCustomDelete() {
|
|
||||||
return customDelete;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCustomDelete(CustomSQL customDelete) {
|
|
||||||
this.customDelete = customDelete;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Set<String> getSynchronizedTableNames() {
|
|
||||||
return synchronizedTableNames;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addSynchronizedTableName(String tableName) {
|
|
||||||
synchronizedTableNames.add( tableName );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MetaAttributeContext getMetaAttributeContext() {
|
|
||||||
// not needed for annotations!? (HF)
|
|
||||||
// probably not; this is a tools/generation thing (SE)
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Origin getOrigin() {
|
|
||||||
// (steve) - not sure how to best handle this. Origin should essentially name the class file from which
|
|
||||||
// this information came
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public UnifiedDescriptorObject getContainingDescriptor() {
|
|
||||||
// probably makes most sense as none for annotations.
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,141 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source.annotations.entity.state.binding;
|
|
||||||
|
|
||||||
import org.hibernate.annotations.OptimisticLockType;
|
|
||||||
import org.hibernate.engine.OptimisticLockStyle;
|
|
||||||
import org.hibernate.metamodel.binder.source.BindingContext;
|
|
||||||
import org.hibernate.metamodel.binder.source.RootEntityDescriptor;
|
|
||||||
import org.hibernate.metamodel.binder.source.TableDescriptor;
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.ConfiguredClass;
|
|
||||||
import org.hibernate.metamodel.binding.Caching;
|
|
||||||
import org.hibernate.metamodel.binding.InheritanceType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Steve Ebersole
|
|
||||||
* @author Hardy Ferentschik
|
|
||||||
*/
|
|
||||||
public class RootEntityDescriptorImpl
|
|
||||||
extends AbstractEntityDescriptorImpl
|
|
||||||
implements RootEntityDescriptor {
|
|
||||||
|
|
||||||
private boolean mutable;
|
|
||||||
private boolean explicitPolymorphism;
|
|
||||||
private String whereFilter;
|
|
||||||
private String rowId;
|
|
||||||
private OptimisticLockStyle optimisticLockStyle;
|
|
||||||
|
|
||||||
private Caching caching;
|
|
||||||
|
|
||||||
private TableDescriptor baseTableDescriptor;
|
|
||||||
|
|
||||||
public RootEntityDescriptorImpl(
|
|
||||||
ConfiguredClass configuredClass,
|
|
||||||
String superEntityName,
|
|
||||||
BindingContext bindingContext) {
|
|
||||||
super( configuredClass, superEntityName, bindingContext );
|
|
||||||
if ( configuredClass.getInheritanceType() != InheritanceType.NO_INHERITANCE ) {
|
|
||||||
// throw exception?
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isMutable() {
|
|
||||||
return mutable;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMutable(boolean mutable) {
|
|
||||||
this.mutable = mutable;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isExplicitPolymorphism() {
|
|
||||||
return explicitPolymorphism;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setExplicitPolymorphism(boolean explicitPolymorphism) {
|
|
||||||
this.explicitPolymorphism = explicitPolymorphism;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getWhereFilter() {
|
|
||||||
return whereFilter;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setWhereFilter(String whereFilter) {
|
|
||||||
this.whereFilter = whereFilter;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getRowId() {
|
|
||||||
return rowId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRowId(String rowId) {
|
|
||||||
this.rowId = rowId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public OptimisticLockStyle getOptimisticLockStyle() {
|
|
||||||
return optimisticLockStyle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOptimisticLockType(OptimisticLockType optimisticLockType) {
|
|
||||||
switch ( optimisticLockType ) {
|
|
||||||
case NONE: {
|
|
||||||
this.optimisticLockStyle = OptimisticLockStyle.NONE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case DIRTY: {
|
|
||||||
this.optimisticLockStyle = OptimisticLockStyle.DIRTY;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case ALL: {
|
|
||||||
this.optimisticLockStyle = OptimisticLockStyle.ALL;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
this.optimisticLockStyle = OptimisticLockStyle.VERSION;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Caching getCaching() {
|
|
||||||
return caching;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCaching(Caching caching) {
|
|
||||||
this.caching = caching;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public TableDescriptor getBaseTable() {
|
|
||||||
return baseTableDescriptor;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBaseTableDescriptor(TableDescriptor baseTableDescriptor) {
|
|
||||||
this.baseTableDescriptor = baseTableDescriptor;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
/*
|
|
||||||
* Hibernate, Relational Persistence for Idiomatic Java
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011, Red Hat Inc. or third-party contributors as
|
|
||||||
* indicated by the @author tags or express copyright attribution
|
|
||||||
* statements applied by the authors. All third-party contributions are
|
|
||||||
* distributed under license by Red Hat Inc.
|
|
||||||
*
|
|
||||||
* This copyrighted material is made available to anyone wishing to use, modify,
|
|
||||||
* copy, or redistribute it subject to the terms and conditions of the GNU
|
|
||||||
* Lesser General Public License, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
||||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this distribution; if not, write to:
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
* 51 Franklin Street, Fifth Floor
|
|
||||||
* Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This code in this package is responsible for performing the process of preparing metadata from annotations
|
|
||||||
* and {@code orm.xml} into the forms needed by {@link org.hibernate.metamodel.binder.EntityBinder}. The main driver
|
|
||||||
* of this process is the {@link AnnotationsSourceProcessor} class.
|
|
||||||
*/
|
|
|
@ -30,7 +30,7 @@ import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.hibernate.MappingException;
|
import org.hibernate.MappingException;
|
||||||
import org.hibernate.metamodel.binder.source.MetaAttributeContext;
|
import org.hibernate.metamodel.source.MetaAttributeContext;
|
||||||
import org.hibernate.metamodel.binding.state.AttributeBindingState;
|
import org.hibernate.metamodel.binding.state.AttributeBindingState;
|
||||||
import org.hibernate.metamodel.domain.Attribute;
|
import org.hibernate.metamodel.domain.Attribute;
|
||||||
import org.hibernate.metamodel.relational.Column;
|
import org.hibernate.metamodel.relational.Column;
|
||||||
|
|
|
@ -25,7 +25,7 @@ package org.hibernate.metamodel.binding;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.hibernate.metamodel.binder.source.MetaAttributeContext;
|
import org.hibernate.metamodel.source.MetaAttributeContext;
|
||||||
import org.hibernate.metamodel.domain.Attribute;
|
import org.hibernate.metamodel.domain.Attribute;
|
||||||
import org.hibernate.metamodel.relational.SimpleValue;
|
import org.hibernate.metamodel.relational.SimpleValue;
|
||||||
import org.hibernate.metamodel.relational.Value;
|
import org.hibernate.metamodel.relational.Value;
|
||||||
|
|
|
@ -34,7 +34,7 @@ import org.hibernate.MappingException;
|
||||||
import org.hibernate.engine.OptimisticLockStyle;
|
import org.hibernate.engine.OptimisticLockStyle;
|
||||||
import org.hibernate.engine.spi.FilterDefinition;
|
import org.hibernate.engine.spi.FilterDefinition;
|
||||||
import org.hibernate.internal.util.Value;
|
import org.hibernate.internal.util.Value;
|
||||||
import org.hibernate.metamodel.binder.source.MetaAttributeContext;
|
import org.hibernate.metamodel.source.MetaAttributeContext;
|
||||||
import org.hibernate.metamodel.domain.Attribute;
|
import org.hibernate.metamodel.domain.Attribute;
|
||||||
import org.hibernate.metamodel.domain.Entity;
|
import org.hibernate.metamodel.domain.Entity;
|
||||||
import org.hibernate.metamodel.relational.Column;
|
import org.hibernate.metamodel.relational.Column;
|
||||||
|
|
|
@ -24,10 +24,9 @@
|
||||||
package org.hibernate.metamodel.binding;
|
package org.hibernate.metamodel.binding;
|
||||||
|
|
||||||
import org.hibernate.mapping.PropertyGeneration;
|
import org.hibernate.mapping.PropertyGeneration;
|
||||||
import org.hibernate.metamodel.binder.source.MetaAttributeContext;
|
import org.hibernate.metamodel.source.MetaAttributeContext;
|
||||||
import org.hibernate.metamodel.binding.state.SimpleAttributeBindingState;
|
import org.hibernate.metamodel.binding.state.SimpleAttributeBindingState;
|
||||||
import org.hibernate.metamodel.domain.SingularAttribute;
|
import org.hibernate.metamodel.domain.SingularAttribute;
|
||||||
import org.hibernate.metamodel.relational.Value;
|
|
||||||
import org.hibernate.metamodel.relational.state.ColumnRelationalState;
|
import org.hibernate.metamodel.relational.state.ColumnRelationalState;
|
||||||
import org.hibernate.metamodel.relational.state.ValueRelationalState;
|
import org.hibernate.metamodel.relational.state.ValueRelationalState;
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ package org.hibernate.metamodel.binding.state;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.hibernate.metamodel.binder.source.MetaAttributeContext;
|
import org.hibernate.metamodel.source.MetaAttributeContext;
|
||||||
import org.hibernate.metamodel.binding.CascadeType;
|
import org.hibernate.metamodel.binding.CascadeType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -28,6 +28,7 @@ import java.util.HashMap;
|
||||||
import java.util.LinkedHashSet;
|
import java.util.LinkedHashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.hibernate.HibernateException;
|
||||||
import org.hibernate.internal.util.Value;
|
import org.hibernate.internal.util.Value;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -100,15 +101,108 @@ public abstract class AbstractAttributeContainer implements AttributeContainer,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SingularAttribute locateOrCreateComponentAttribute(String name) {
|
public SingularAttribute locateOrCreateComponentAttribute(String name) {
|
||||||
SingularAttribute attribute = (SingularAttribute) getAttribute( name );
|
SingularAttributeImpl attribute = (SingularAttributeImpl) getAttribute( name );
|
||||||
if ( attribute == null ) {
|
if ( attribute == null ) {
|
||||||
Component component = new Component( name, null );
|
ComponentAttributeContainerDelegate component = new ComponentAttributeContainerDelegate();
|
||||||
attribute = new SingularAttributeImpl( name, component );
|
attribute = new SingularAttributeImpl( name, component );
|
||||||
|
component.singularAttribute = attribute;
|
||||||
addAttribute( attribute );
|
addAttribute( attribute );
|
||||||
}
|
}
|
||||||
return attribute;
|
return attribute;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static class ComponentAttributeContainerDelegate implements AttributeContainer {
|
||||||
|
private SingularAttributeImpl singularAttribute;
|
||||||
|
|
||||||
|
private ComponentAttributeContainerDelegate() {
|
||||||
|
}
|
||||||
|
|
||||||
|
private Component realComponent() {
|
||||||
|
if ( singularAttribute.getSingularAttributeType() == null ) {
|
||||||
|
throw new HibernateException( "Component type was not yet bound" );
|
||||||
|
}
|
||||||
|
if ( ! Component.class.isInstance( singularAttribute.getSingularAttributeType() ) ) {
|
||||||
|
throw new HibernateException( "Unexpected bound type for component attribute" );
|
||||||
|
}
|
||||||
|
return (Component) singularAttribute.getSingularAttributeType();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Attribute getAttribute(String name) {
|
||||||
|
return realComponent().getAttribute( name );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<Attribute> getAttributes() {
|
||||||
|
return realComponent().getAttributes();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SingularAttribute locateOrCreateSingularAttribute(String name) {
|
||||||
|
return realComponent().locateOrCreateSingularAttribute( name );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PluralAttribute locateOrCreatePluralAttribute(String name, PluralAttributeNature nature) {
|
||||||
|
return realComponent().locateOrCreatePluralAttribute( name, nature );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PluralAttribute locateOrCreateBag(String name) {
|
||||||
|
return realComponent().locateOrCreateBag( name );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PluralAttribute locateOrCreateSet(String name) {
|
||||||
|
return realComponent().locateOrCreateBag( name );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IndexedPluralAttribute locateOrCreateList(String name) {
|
||||||
|
return realComponent().locateOrCreateList( name );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IndexedPluralAttribute locateOrCreateMap(String name) {
|
||||||
|
return realComponent().locateOrCreateMap( name );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SingularAttribute locateOrCreateComponentAttribute(String name) {
|
||||||
|
return realComponent().locateOrCreateComponentAttribute( name );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return realComponent().getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getClassName() {
|
||||||
|
return realComponent().getClassName();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<?> getClassReference() {
|
||||||
|
return realComponent().getClassReference();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Value<Class<?>> getClassReferenceUnresolved() {
|
||||||
|
return realComponent().getClassReferenceUnresolved();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isAssociation() {
|
||||||
|
return realComponent().isAssociation();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isComponent() {
|
||||||
|
return realComponent().isComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PluralAttribute locateOrCreateBag(String name) {
|
public PluralAttribute locateOrCreateBag(String name) {
|
||||||
return locateOrCreatePluralAttribute( name, PluralAttributeNature.BAG );
|
return locateOrCreatePluralAttribute( name, PluralAttributeNature.BAG );
|
||||||
|
|
|
@ -49,10 +49,11 @@ public interface AttributeContainer extends Type {
|
||||||
public Set<Attribute> getAttributes();
|
public Set<Attribute> getAttributes();
|
||||||
|
|
||||||
public SingularAttribute locateOrCreateSingularAttribute(String name);
|
public SingularAttribute locateOrCreateSingularAttribute(String name);
|
||||||
public SingularAttribute locateOrCreateComponentAttribute(String name);
|
|
||||||
public PluralAttribute locateOrCreatePluralAttribute(String name, PluralAttributeNature nature);
|
public PluralAttribute locateOrCreatePluralAttribute(String name, PluralAttributeNature nature);
|
||||||
public PluralAttribute locateOrCreateBag(String name);
|
public PluralAttribute locateOrCreateBag(String name);
|
||||||
public PluralAttribute locateOrCreateSet(String name);
|
public PluralAttribute locateOrCreateSet(String name);
|
||||||
public IndexedPluralAttribute locateOrCreateList(String name);
|
public IndexedPluralAttribute locateOrCreateList(String name);
|
||||||
public IndexedPluralAttribute locateOrCreateMap(String name);
|
public IndexedPluralAttribute locateOrCreateMap(String name);
|
||||||
|
|
||||||
|
public SingularAttribute locateOrCreateComponentAttribute(String name);
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source;
|
package org.hibernate.metamodel.source;
|
||||||
|
|
||||||
import org.hibernate.cfg.NamingStrategy;
|
import org.hibernate.cfg.NamingStrategy;
|
||||||
import org.hibernate.internal.util.Value;
|
import org.hibernate.internal.util.Value;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source;
|
package org.hibernate.metamodel.source;
|
||||||
|
|
||||||
import org.hibernate.cache.spi.access.AccessType;
|
import org.hibernate.cache.spi.access.AccessType;
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.hibernate.metamodel.binder;
|
package org.hibernate.metamodel.source;
|
||||||
|
|
||||||
import org.hibernate.HibernateException;
|
import org.hibernate.HibernateException;
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.hibernate.metamodel.binder;
|
package org.hibernate.metamodel.source;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Steve Ebersole
|
* @author Steve Ebersole
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source;
|
package org.hibernate.metamodel.source;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source;
|
package org.hibernate.metamodel.source;
|
||||||
|
|
||||||
import org.hibernate.engine.ResultSetMappingDefinition;
|
import org.hibernate.engine.ResultSetMappingDefinition;
|
||||||
import org.hibernate.engine.spi.FilterDefinition;
|
import org.hibernate.engine.spi.FilterDefinition;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder;
|
package org.hibernate.metamodel.source;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source;
|
package org.hibernate.metamodel.source;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.hibernate.metamodel.binder;
|
package org.hibernate.metamodel.source;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* From where did the metadata come from?
|
* From where did the metadata come from?
|
|
@ -22,7 +22,7 @@
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.hibernate.metamodel.binder;
|
package org.hibernate.metamodel.source;
|
||||||
|
|
||||||
import org.hibernate.HibernateException;
|
import org.hibernate.HibernateException;
|
||||||
|
|
|
@ -21,14 +21,14 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
package org.hibernate.metamodel.source.annotations;
|
||||||
|
|
||||||
import com.fasterxml.classmate.ResolvedType;
|
import com.fasterxml.classmate.ResolvedType;
|
||||||
import com.fasterxml.classmate.ResolvedTypeWithMembers;
|
import com.fasterxml.classmate.ResolvedTypeWithMembers;
|
||||||
import org.jboss.jandex.ClassInfo;
|
import org.jboss.jandex.ClassInfo;
|
||||||
import org.jboss.jandex.Index;
|
import org.jboss.jandex.Index;
|
||||||
|
|
||||||
import org.hibernate.metamodel.binder.source.BindingContext;
|
import org.hibernate.metamodel.source.BindingContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Steve Ebersole
|
* @author Steve Ebersole
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
package org.hibernate.metamodel.source.annotations;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
@ -45,22 +45,22 @@ import org.hibernate.HibernateException;
|
||||||
import org.hibernate.cfg.NamingStrategy;
|
import org.hibernate.cfg.NamingStrategy;
|
||||||
import org.hibernate.internal.util.Value;
|
import org.hibernate.internal.util.Value;
|
||||||
import org.hibernate.metamodel.MetadataSources;
|
import org.hibernate.metamodel.MetadataSources;
|
||||||
import org.hibernate.metamodel.binder.source.MappingDefaults;
|
import org.hibernate.metamodel.source.MappingDefaults;
|
||||||
import org.hibernate.metamodel.binder.source.MetadataImplementor;
|
import org.hibernate.metamodel.source.MetadataImplementor;
|
||||||
import org.hibernate.metamodel.binder.source.SourceProcessor;
|
import org.hibernate.metamodel.source.SourceProcessor;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.ConfiguredClassHierarchy;
|
import org.hibernate.metamodel.source.annotations.entity.ConfiguredClassHierarchy;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.ConfiguredClassType;
|
import org.hibernate.metamodel.source.annotations.entity.ConfiguredClassType;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.EntityBinder;
|
import org.hibernate.metamodel.source.annotations.entity.EntityBinder;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.global.FetchProfileBinder;
|
import org.hibernate.metamodel.source.annotations.global.FetchProfileBinder;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.global.FilterDefBinder;
|
import org.hibernate.metamodel.source.annotations.global.FilterDefBinder;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.global.IdGeneratorBinder;
|
import org.hibernate.metamodel.source.annotations.global.IdGeneratorBinder;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.global.QueryBinder;
|
import org.hibernate.metamodel.source.annotations.global.QueryBinder;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.global.TableBinder;
|
import org.hibernate.metamodel.source.annotations.global.TableBinder;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.global.TypeDefBinder;
|
import org.hibernate.metamodel.source.annotations.global.TypeDefBinder;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.xml.PseudoJpaDotNames;
|
import org.hibernate.metamodel.source.annotations.xml.PseudoJpaDotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.xml.mocker.EntityMappingsMocker;
|
import org.hibernate.metamodel.source.annotations.xml.mocker.EntityMappingsMocker;
|
||||||
import org.hibernate.metamodel.binder.source.internal.JaxbRoot;
|
import org.hibernate.metamodel.source.internal.JaxbRoot;
|
||||||
import org.hibernate.metamodel.binder.source.internal.MetadataImpl;
|
import org.hibernate.metamodel.source.internal.MetadataImpl;
|
||||||
import org.hibernate.metamodel.binding.EntityBinding;
|
import org.hibernate.metamodel.binding.EntityBinding;
|
||||||
import org.hibernate.metamodel.domain.Hierarchical;
|
import org.hibernate.metamodel.domain.Hierarchical;
|
||||||
import org.hibernate.metamodel.domain.Type;
|
import org.hibernate.metamodel.domain.Type;
|
||||||
|
@ -183,12 +183,22 @@ public class AnnotationsSourceProcessor implements SourceProcessor, AnnotationsB
|
||||||
// for classes annotated w/ @MappedSuperclass we just create the domain instance
|
// for classes annotated w/ @MappedSuperclass we just create the domain instance
|
||||||
// the attribute bindings will be part of the first entity subclass
|
// the attribute bindings will be part of the first entity subclass
|
||||||
else if ( ConfiguredClassType.MAPPED_SUPERCLASS.equals( entityClass.getConfiguredClassType() ) ) {
|
else if ( ConfiguredClassType.MAPPED_SUPERCLASS.equals( entityClass.getConfiguredClassType() ) ) {
|
||||||
parent = new Superclass( entityClass.getName(), parent );
|
parent = new Superclass(
|
||||||
|
entityClass.getName(),
|
||||||
|
entityClass.getName(),
|
||||||
|
makeClassReference( entityClass.getName() ),
|
||||||
|
parent
|
||||||
|
);
|
||||||
}
|
}
|
||||||
// for classes which are not annotated at all we create the NonEntity domain class
|
// for classes which are not annotated at all we create the NonEntity domain class
|
||||||
// todo - not sure whether this is needed. It might be that we don't need this information (HF)
|
// todo - not sure whether this is needed. It might be that we don't need this information (HF)
|
||||||
else {
|
else {
|
||||||
parent = new NonEntity( entityClass.getName(), parent );
|
parent = new NonEntity(
|
||||||
|
entityClass.getName(),
|
||||||
|
entityClass.getName(),
|
||||||
|
makeClassReference( entityClass.getName() ),
|
||||||
|
parent
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
package org.hibernate.metamodel.source.annotations;
|
||||||
|
|
||||||
import javax.persistence.AccessType;
|
import javax.persistence.AccessType;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -37,7 +37,7 @@ import org.jboss.jandex.DotName;
|
||||||
|
|
||||||
import org.hibernate.AnnotationException;
|
import org.hibernate.AnnotationException;
|
||||||
import org.hibernate.AssertionFailure;
|
import org.hibernate.AssertionFailure;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.ConfiguredClassHierarchy;
|
import org.hibernate.metamodel.source.annotations.entity.ConfiguredClassHierarchy;
|
||||||
import org.hibernate.metamodel.source.annotations.entity.EmbeddableClass;
|
import org.hibernate.metamodel.source.annotations.entity.EmbeddableClass;
|
||||||
import org.hibernate.metamodel.source.annotations.entity.EntityClass;
|
import org.hibernate.metamodel.source.annotations.entity.EntityClass;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
package org.hibernate.metamodel.source.annotations;
|
||||||
|
|
||||||
import org.jboss.jandex.DotName;
|
import org.jboss.jandex.DotName;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
package org.hibernate.metamodel.source.annotations;
|
||||||
|
|
||||||
import javax.persistence.Access;
|
import javax.persistence.Access;
|
||||||
import javax.persistence.AccessType;
|
import javax.persistence.AccessType;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
package org.hibernate.metamodel.source.annotations;
|
||||||
|
|
||||||
import java.beans.Introspector;
|
import java.beans.Introspector;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
|
@ -1,4 +1,4 @@
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
package org.hibernate.metamodel.source.annotations;
|
||||||
|
|
||||||
import java.beans.Introspector;
|
import java.beans.Introspector;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations;
|
package org.hibernate.metamodel.source.annotations;
|
||||||
|
|
||||||
import org.hibernate.HibernateException;
|
import org.hibernate.HibernateException;
|
||||||
|
|
|
@ -34,8 +34,8 @@ import org.jboss.jandex.AnnotationValue;
|
||||||
import org.jboss.jandex.DotName;
|
import org.jboss.jandex.DotName;
|
||||||
|
|
||||||
import org.hibernate.annotations.NotFoundAction;
|
import org.hibernate.annotations.NotFoundAction;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.HibernateDotNames;
|
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Hardy Ferentschik
|
* @author Hardy Ferentschik
|
||||||
|
|
|
@ -31,7 +31,7 @@ import org.jboss.jandex.DotName;
|
||||||
|
|
||||||
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
||||||
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
import org.hibernate.metamodel.source.annotations.util.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Container for the properties of a discriminator column.
|
* Container for the properties of a discriminator column.
|
||||||
|
|
|
@ -35,9 +35,9 @@ import org.jboss.jandex.DotName;
|
||||||
import org.hibernate.AnnotationException;
|
import org.hibernate.AnnotationException;
|
||||||
import org.hibernate.annotations.GenerationTime;
|
import org.hibernate.annotations.GenerationTime;
|
||||||
import org.hibernate.mapping.PropertyGeneration;
|
import org.hibernate.mapping.PropertyGeneration;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.HibernateDotNames;
|
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represent a mapped attribute (explicitly or implicitly mapped). Also used for synthetic attributes like a
|
* Represent a mapped attribute (explicitly or implicitly mapped). Also used for synthetic attributes like a
|
||||||
|
|
|
@ -27,7 +27,7 @@ import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.hibernate.mapping.PropertyGeneration;
|
import org.hibernate.mapping.PropertyGeneration;
|
||||||
import org.hibernate.metamodel.binder.source.MetaAttributeContext;
|
import org.hibernate.metamodel.source.MetaAttributeContext;
|
||||||
import org.hibernate.metamodel.binding.CascadeType;
|
import org.hibernate.metamodel.binding.CascadeType;
|
||||||
import org.hibernate.metamodel.binding.state.SimpleAttributeBindingState;
|
import org.hibernate.metamodel.binding.state.SimpleAttributeBindingState;
|
||||||
import org.hibernate.metamodel.source.annotations.attribute.SimpleAttribute;
|
import org.hibernate.metamodel.source.annotations.attribute.SimpleAttribute;
|
||||||
|
|
|
@ -33,7 +33,7 @@ import org.jboss.jandex.AnnotationInstance;
|
||||||
|
|
||||||
import org.hibernate.AnnotationException;
|
import org.hibernate.AnnotationException;
|
||||||
import org.hibernate.cfg.NamingStrategy;
|
import org.hibernate.cfg.NamingStrategy;
|
||||||
import org.hibernate.metamodel.binder.source.MetadataImplementor;
|
import org.hibernate.metamodel.source.MetadataImplementor;
|
||||||
import org.hibernate.metamodel.relational.Size;
|
import org.hibernate.metamodel.relational.Size;
|
||||||
import org.hibernate.metamodel.relational.state.ColumnRelationalState;
|
import org.hibernate.metamodel.relational.state.ColumnRelationalState;
|
||||||
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.entity;
|
package org.hibernate.metamodel.source.annotations.entity;
|
||||||
|
|
||||||
import javax.persistence.AccessType;
|
import javax.persistence.AccessType;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
@ -52,17 +52,16 @@ import org.jboss.logging.Logger;
|
||||||
import org.hibernate.AnnotationException;
|
import org.hibernate.AnnotationException;
|
||||||
import org.hibernate.AssertionFailure;
|
import org.hibernate.AssertionFailure;
|
||||||
import org.hibernate.HibernateException;
|
import org.hibernate.HibernateException;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.AnnotationsBindingContext;
|
import org.hibernate.metamodel.source.annotations.AnnotationsBindingContext;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.ConfiguredClassHierarchyBuilder;
|
import org.hibernate.metamodel.source.annotations.ConfiguredClassHierarchyBuilder;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.ReflectionHelper;
|
import org.hibernate.metamodel.source.annotations.ReflectionHelper;
|
||||||
import org.hibernate.metamodel.source.annotations.attribute.AssociationAttribute;
|
import org.hibernate.metamodel.source.annotations.attribute.AssociationAttribute;
|
||||||
import org.hibernate.metamodel.source.annotations.attribute.AttributeOverride;
|
import org.hibernate.metamodel.source.annotations.attribute.AttributeOverride;
|
||||||
import org.hibernate.metamodel.source.annotations.attribute.AttributeType;
|
import org.hibernate.metamodel.source.annotations.attribute.AttributeType;
|
||||||
import org.hibernate.metamodel.source.annotations.attribute.MappedAttribute;
|
import org.hibernate.metamodel.source.annotations.attribute.MappedAttribute;
|
||||||
import org.hibernate.metamodel.source.annotations.attribute.SimpleAttribute;
|
import org.hibernate.metamodel.source.annotations.attribute.SimpleAttribute;
|
||||||
import org.hibernate.metamodel.source.annotations.entity.EmbeddableClass;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base class for a configured entity, mapped super class or embeddable
|
* Base class for a configured entity, mapped super class or embeddable
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.entity;
|
package org.hibernate.metamodel.source.annotations.entity;
|
||||||
|
|
||||||
import javax.persistence.AccessType;
|
import javax.persistence.AccessType;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -34,12 +34,10 @@ import org.jboss.jandex.FieldInfo;
|
||||||
import org.jboss.jandex.MethodInfo;
|
import org.jboss.jandex.MethodInfo;
|
||||||
|
|
||||||
import org.hibernate.AnnotationException;
|
import org.hibernate.AnnotationException;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.AnnotationsBindingContext;
|
import org.hibernate.metamodel.source.annotations.AnnotationsBindingContext;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
import org.hibernate.metamodel.binding.InheritanceType;
|
import org.hibernate.metamodel.binding.InheritanceType;
|
||||||
import org.hibernate.metamodel.source.annotations.entity.EmbeddableClass;
|
|
||||||
import org.hibernate.metamodel.source.annotations.entity.EntityClass;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains information about the access and inheritance type for all classes within a class hierarchy.
|
* Contains information about the access and inheritance type for all classes within a class hierarchy.
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.entity;
|
package org.hibernate.metamodel.source.annotations.entity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Hardy Ferentschik
|
* @author Hardy Ferentschik
|
|
@ -27,8 +27,7 @@ import javax.persistence.AccessType;
|
||||||
|
|
||||||
import org.jboss.jandex.ClassInfo;
|
import org.jboss.jandex.ClassInfo;
|
||||||
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.AnnotationsBindingContext;
|
import org.hibernate.metamodel.source.annotations.AnnotationsBindingContext;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.ConfiguredClass;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Hardy Ferentschik
|
* @author Hardy Ferentschik
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.entity;
|
package org.hibernate.metamodel.source.annotations.entity;
|
||||||
|
|
||||||
import javax.persistence.GenerationType;
|
import javax.persistence.GenerationType;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -47,12 +47,12 @@ import org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle;
|
||||||
import org.hibernate.id.IdentifierGenerator;
|
import org.hibernate.id.IdentifierGenerator;
|
||||||
import org.hibernate.internal.util.StringHelper;
|
import org.hibernate.internal.util.StringHelper;
|
||||||
import org.hibernate.internal.util.Value;
|
import org.hibernate.internal.util.Value;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.AnnotationsBindingContext;
|
import org.hibernate.metamodel.source.annotations.AnnotationsBindingContext;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.HibernateDotNames;
|
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.UnknownInheritanceTypeException;
|
import org.hibernate.metamodel.source.annotations.UnknownInheritanceTypeException;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.global.IdGeneratorBinder;
|
import org.hibernate.metamodel.source.annotations.global.IdGeneratorBinder;
|
||||||
import org.hibernate.metamodel.binding.Caching;
|
import org.hibernate.metamodel.binding.Caching;
|
||||||
import org.hibernate.metamodel.binding.CustomSQL;
|
import org.hibernate.metamodel.binding.CustomSQL;
|
||||||
import org.hibernate.metamodel.binding.EntityBinding;
|
import org.hibernate.metamodel.binding.EntityBinding;
|
||||||
|
@ -84,8 +84,6 @@ import org.hibernate.metamodel.source.annotations.attribute.state.binding.ManyTo
|
||||||
import org.hibernate.metamodel.source.annotations.attribute.state.relational.ColumnRelationalStateImpl;
|
import org.hibernate.metamodel.source.annotations.attribute.state.relational.ColumnRelationalStateImpl;
|
||||||
import org.hibernate.metamodel.source.annotations.attribute.state.relational.ManyToOneRelationalStateImpl;
|
import org.hibernate.metamodel.source.annotations.attribute.state.relational.ManyToOneRelationalStateImpl;
|
||||||
import org.hibernate.metamodel.source.annotations.attribute.state.relational.TupleRelationalStateImpl;
|
import org.hibernate.metamodel.source.annotations.attribute.state.relational.TupleRelationalStateImpl;
|
||||||
import org.hibernate.metamodel.source.annotations.entity.EmbeddableClass;
|
|
||||||
import org.hibernate.metamodel.source.annotations.entity.EntityClass;
|
|
||||||
import org.hibernate.persister.entity.EntityPersister;
|
import org.hibernate.persister.entity.EntityPersister;
|
||||||
import org.hibernate.tuple.entity.EntityTuplizer;
|
import org.hibernate.tuple.entity.EntityTuplizer;
|
||||||
|
|
||||||
|
@ -152,7 +150,6 @@ public class EntityBinder {
|
||||||
|
|
||||||
bindTableUniqueConstraints( entityBinding );
|
bindTableUniqueConstraints( entityBinding );
|
||||||
|
|
||||||
bindingContext.getMetadataImplementor().addEntity( entityBinding );
|
|
||||||
return entityBinding;
|
return entityBinding;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -877,7 +874,7 @@ public class EntityBinder {
|
||||||
}
|
}
|
||||||
|
|
||||||
String attributeName = simpleAttribute.getName();
|
String attributeName = simpleAttribute.getName();
|
||||||
SingularAttribute attribute = entityBinding.getEntity().locateOrCreateSingularAttribute( attributeName );
|
SingularAttribute attribute = container.locateOrCreateSingularAttribute( attributeName );
|
||||||
SimpleAttributeBinding attributeBinding;
|
SimpleAttributeBinding attributeBinding;
|
||||||
|
|
||||||
if ( simpleAttribute.isDiscriminator() ) {
|
if ( simpleAttribute.isDiscriminator() ) {
|
|
@ -33,11 +33,8 @@ import org.jboss.jandex.DotName;
|
||||||
|
|
||||||
import org.hibernate.AnnotationException;
|
import org.hibernate.AnnotationException;
|
||||||
import org.hibernate.MappingException;
|
import org.hibernate.MappingException;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.AnnotationsBindingContext;
|
import org.hibernate.metamodel.source.annotations.AnnotationsBindingContext;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.ConfiguredClass;
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.ConfiguredClassType;
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.entity.IdType;
|
|
||||||
import org.hibernate.metamodel.binding.InheritanceType;
|
import org.hibernate.metamodel.binding.InheritanceType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.entity;
|
package org.hibernate.metamodel.source.annotations.entity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An emum for the type of id configuration for an entity.
|
* An emum for the type of id configuration for an entity.
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.global;
|
package org.hibernate.metamodel.source.annotations.global;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
@ -32,11 +32,11 @@ import org.jboss.jandex.Index;
|
||||||
import org.hibernate.MappingException;
|
import org.hibernate.MappingException;
|
||||||
import org.hibernate.annotations.FetchMode;
|
import org.hibernate.annotations.FetchMode;
|
||||||
import org.hibernate.annotations.FetchProfiles;
|
import org.hibernate.annotations.FetchProfiles;
|
||||||
import org.hibernate.metamodel.binder.source.MetadataImplementor;
|
import org.hibernate.metamodel.source.MetadataImplementor;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
import org.hibernate.metamodel.binding.FetchProfile;
|
import org.hibernate.metamodel.binding.FetchProfile;
|
||||||
import org.hibernate.metamodel.binding.FetchProfile.Fetch;
|
import org.hibernate.metamodel.binding.FetchProfile.Fetch;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.HibernateDotNames;
|
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Binds fetch profiles found in annotations.
|
* Binds fetch profiles found in annotations.
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.global;
|
package org.hibernate.metamodel.source.annotations.global;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -34,9 +34,9 @@ import org.hibernate.annotations.FilterDef;
|
||||||
import org.hibernate.annotations.FilterDefs;
|
import org.hibernate.annotations.FilterDefs;
|
||||||
import org.hibernate.engine.spi.FilterDefinition;
|
import org.hibernate.engine.spi.FilterDefinition;
|
||||||
import org.hibernate.internal.CoreMessageLogger;
|
import org.hibernate.internal.CoreMessageLogger;
|
||||||
import org.hibernate.metamodel.binder.source.MetadataImplementor;
|
import org.hibernate.metamodel.source.MetadataImplementor;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.HibernateDotNames;
|
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
import org.hibernate.type.Type;
|
import org.hibernate.type.Type;
|
||||||
|
|
||||||
public class FilterDefBinder {
|
public class FilterDefBinder {
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.global;
|
package org.hibernate.metamodel.source.annotations.global;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -44,11 +44,11 @@ import org.hibernate.id.enhanced.SequenceStyleGenerator;
|
||||||
import org.hibernate.id.enhanced.TableGenerator;
|
import org.hibernate.id.enhanced.TableGenerator;
|
||||||
import org.hibernate.internal.CoreMessageLogger;
|
import org.hibernate.internal.CoreMessageLogger;
|
||||||
import org.hibernate.internal.util.StringHelper;
|
import org.hibernate.internal.util.StringHelper;
|
||||||
import org.hibernate.metamodel.binder.source.MetadataImplementor;
|
import org.hibernate.metamodel.source.MetadataImplementor;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
import org.hibernate.metamodel.binding.IdGenerator;
|
import org.hibernate.metamodel.binding.IdGenerator;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.HibernateDotNames;
|
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
|
||||||
|
|
||||||
public class IdGeneratorBinder {
|
public class IdGeneratorBinder {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.global;
|
package org.hibernate.metamodel.source.annotations.global;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import javax.persistence.NamedNativeQueries;
|
import javax.persistence.NamedNativeQueries;
|
||||||
|
@ -45,10 +45,10 @@ import org.hibernate.engine.spi.NamedQueryDefinition;
|
||||||
import org.hibernate.engine.spi.NamedSQLQueryDefinition;
|
import org.hibernate.engine.spi.NamedSQLQueryDefinition;
|
||||||
import org.hibernate.internal.CoreMessageLogger;
|
import org.hibernate.internal.CoreMessageLogger;
|
||||||
import org.hibernate.internal.util.StringHelper;
|
import org.hibernate.internal.util.StringHelper;
|
||||||
import org.hibernate.metamodel.binder.source.MetadataImplementor;
|
import org.hibernate.metamodel.source.MetadataImplementor;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.HibernateDotNames;
|
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
|
|
||||||
public class QueryBinder {
|
public class QueryBinder {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.global;
|
package org.hibernate.metamodel.source.annotations.global;
|
||||||
|
|
||||||
import org.jboss.jandex.AnnotationInstance;
|
import org.jboss.jandex.AnnotationInstance;
|
||||||
import org.jboss.jandex.Index;
|
import org.jboss.jandex.Index;
|
||||||
|
@ -30,14 +30,14 @@ import org.jboss.logging.Logger;
|
||||||
import org.hibernate.AnnotationException;
|
import org.hibernate.AnnotationException;
|
||||||
import org.hibernate.internal.CoreMessageLogger;
|
import org.hibernate.internal.CoreMessageLogger;
|
||||||
import org.hibernate.internal.util.StringHelper;
|
import org.hibernate.internal.util.StringHelper;
|
||||||
import org.hibernate.metamodel.binder.source.MetadataImplementor;
|
import org.hibernate.metamodel.source.MetadataImplementor;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
import org.hibernate.metamodel.relational.Column;
|
import org.hibernate.metamodel.relational.Column;
|
||||||
import org.hibernate.metamodel.relational.ObjectName;
|
import org.hibernate.metamodel.relational.ObjectName;
|
||||||
import org.hibernate.metamodel.relational.Schema;
|
import org.hibernate.metamodel.relational.Schema;
|
||||||
import org.hibernate.metamodel.relational.SimpleValue;
|
import org.hibernate.metamodel.relational.SimpleValue;
|
||||||
import org.hibernate.metamodel.relational.Table;
|
import org.hibernate.metamodel.relational.Table;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.HibernateDotNames;
|
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Binds table related information. This binder is called after the entities are bound.
|
* Binds table related information. This binder is called after the entities are bound.
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.global;
|
package org.hibernate.metamodel.source.annotations.global;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -34,10 +34,10 @@ import org.hibernate.AnnotationException;
|
||||||
import org.hibernate.annotations.TypeDefs;
|
import org.hibernate.annotations.TypeDefs;
|
||||||
import org.hibernate.internal.CoreMessageLogger;
|
import org.hibernate.internal.CoreMessageLogger;
|
||||||
import org.hibernate.internal.util.StringHelper;
|
import org.hibernate.internal.util.StringHelper;
|
||||||
import org.hibernate.metamodel.binder.source.MetadataImplementor;
|
import org.hibernate.metamodel.source.MetadataImplementor;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
import org.hibernate.metamodel.binding.TypeDef;
|
import org.hibernate.metamodel.binding.TypeDef;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.HibernateDotNames;
|
import org.hibernate.metamodel.source.annotations.HibernateDotNames;
|
||||||
|
|
||||||
public class TypeDefBinder {
|
public class TypeDefBinder {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml;
|
package org.hibernate.metamodel.source.annotations.xml;
|
||||||
|
|
||||||
import org.jboss.jandex.DotName;
|
import org.jboss.jandex.DotName;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.filter;
|
package org.hibernate.metamodel.source.annotations.xml.filter;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@ -32,7 +32,7 @@ import java.util.Set;
|
||||||
import org.jboss.jandex.AnnotationInstance;
|
import org.jboss.jandex.AnnotationInstance;
|
||||||
import org.jboss.jandex.DotName;
|
import org.jboss.jandex.DotName;
|
||||||
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.xml.mocker.IndexBuilder;
|
import org.hibernate.metamodel.source.annotations.xml.mocker.IndexBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Strong Liu
|
* @author Strong Liu
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.filter;
|
package org.hibernate.metamodel.source.annotations.xml.filter;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -35,7 +35,7 @@ import org.jboss.jandex.AnnotationInstance;
|
||||||
import org.jboss.jandex.AnnotationTarget;
|
import org.jboss.jandex.AnnotationTarget;
|
||||||
import org.jboss.jandex.DotName;
|
import org.jboss.jandex.DotName;
|
||||||
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.xml.mocker.MockHelper;
|
import org.hibernate.metamodel.source.annotations.xml.mocker.MockHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Strong Liu
|
* @author Strong Liu
|
|
@ -21,13 +21,13 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.filter;
|
package org.hibernate.metamodel.source.annotations.xml.filter;
|
||||||
|
|
||||||
import org.jboss.jandex.AnnotationInstance;
|
import org.jboss.jandex.AnnotationInstance;
|
||||||
import org.jboss.jandex.DotName;
|
import org.jboss.jandex.DotName;
|
||||||
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.xml.mocker.IndexBuilder;
|
import org.hibernate.metamodel.source.annotations.xml.mocker.IndexBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Strong Liu
|
* @author Strong Liu
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.filter;
|
package org.hibernate.metamodel.source.annotations.xml.filter;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.filter;
|
package org.hibernate.metamodel.source.annotations.xml.filter;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -30,7 +30,7 @@ import org.jboss.jandex.AnnotationInstance;
|
||||||
import org.jboss.jandex.AnnotationTarget;
|
import org.jboss.jandex.AnnotationTarget;
|
||||||
import org.jboss.jandex.DotName;
|
import org.jboss.jandex.DotName;
|
||||||
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.xml.mocker.MockHelper;
|
import org.hibernate.metamodel.source.annotations.xml.mocker.MockHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Strong Liu
|
* @author Strong Liu
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import org.jboss.jandex.AnnotationInstance;
|
import org.jboss.jandex.AnnotationInstance;
|
||||||
import org.jboss.jandex.AnnotationTarget;
|
import org.jboss.jandex.AnnotationTarget;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -33,7 +33,7 @@ import org.jboss.jandex.DotName;
|
||||||
|
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLAccessType;
|
import org.hibernate.metamodel.source.annotation.xml.XMLAccessType;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLUniqueConstraint;
|
import org.hibernate.metamodel.source.annotation.xml.XMLUniqueConstraint;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base class for the mock jandex annotations created from orm.xml.
|
* Base class for the mock jandex annotations created from orm.xml.
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -36,10 +36,10 @@ import org.jboss.logging.Logger;
|
||||||
import org.hibernate.AssertionFailure;
|
import org.hibernate.AssertionFailure;
|
||||||
import org.hibernate.MappingException;
|
import org.hibernate.MappingException;
|
||||||
import org.hibernate.internal.CoreMessageLogger;
|
import org.hibernate.internal.CoreMessageLogger;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.xml.PseudoJpaDotNames;
|
import org.hibernate.metamodel.source.annotations.xml.PseudoJpaDotNames;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLAccessType;
|
import org.hibernate.metamodel.source.annotation.xml.XMLAccessType;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Strong Liu
|
* @author Strong Liu
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -34,13 +34,13 @@ import org.jboss.logging.Logger;
|
||||||
|
|
||||||
import org.hibernate.internal.CoreMessageLogger;
|
import org.hibernate.internal.CoreMessageLogger;
|
||||||
import org.hibernate.internal.util.StringHelper;
|
import org.hibernate.internal.util.StringHelper;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JandexHelper;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.xml.filter.IndexedAnnotationFilter;
|
import org.hibernate.metamodel.source.annotations.JandexHelper;
|
||||||
|
import org.hibernate.metamodel.source.annotations.xml.filter.IndexedAnnotationFilter;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLEmbeddable;
|
import org.hibernate.metamodel.source.annotation.xml.XMLEmbeddable;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLEntity;
|
import org.hibernate.metamodel.source.annotation.xml.XMLEntity;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLMappedSuperclass;
|
import org.hibernate.metamodel.source.annotation.xml.XMLMappedSuperclass;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLTable;
|
import org.hibernate.metamodel.source.annotation.xml.XMLTable;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Strong Liu
|
* @author Strong Liu
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import org.jboss.logging.Logger;
|
import org.jboss.logging.Logger;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import org.jboss.jandex.ClassInfo;
|
import org.jboss.jandex.ClassInfo;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import org.jboss.jandex.ClassInfo;
|
import org.jboss.jandex.ClassInfo;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -37,7 +37,7 @@ import org.jboss.logging.Logger;
|
||||||
|
|
||||||
import org.hibernate.internal.CoreMessageLogger;
|
import org.hibernate.internal.CoreMessageLogger;
|
||||||
import org.hibernate.internal.util.StringHelper;
|
import org.hibernate.internal.util.StringHelper;
|
||||||
import org.hibernate.metamodel.binder.MappingException;
|
import org.hibernate.metamodel.source.MappingException;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLAttributes;
|
import org.hibernate.metamodel.source.annotation.xml.XMLAttributes;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLEntity;
|
import org.hibernate.metamodel.source.annotation.xml.XMLEntity;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLEntityMappings;
|
import org.hibernate.metamodel.source.annotation.xml.XMLEntityMappings;
|
||||||
|
@ -47,7 +47,7 @@ import org.hibernate.metamodel.source.annotation.xml.XMLNamedQuery;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLSequenceGenerator;
|
import org.hibernate.metamodel.source.annotation.xml.XMLSequenceGenerator;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLSqlResultSetMapping;
|
import org.hibernate.metamodel.source.annotation.xml.XMLSqlResultSetMapping;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLTableGenerator;
|
import org.hibernate.metamodel.source.annotation.xml.XMLTableGenerator;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Strong Liu
|
* @author Strong Liu
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -38,7 +38,7 @@ import org.jboss.logging.Logger;
|
||||||
import org.hibernate.AssertionFailure;
|
import org.hibernate.AssertionFailure;
|
||||||
import org.hibernate.internal.CoreMessageLogger;
|
import org.hibernate.internal.CoreMessageLogger;
|
||||||
import org.hibernate.internal.util.StringHelper;
|
import org.hibernate.internal.util.StringHelper;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.xml.filter.IndexedAnnotationFilter;
|
import org.hibernate.metamodel.source.annotations.xml.filter.IndexedAnnotationFilter;
|
||||||
import org.hibernate.service.ServiceRegistry;
|
import org.hibernate.service.ServiceRegistry;
|
||||||
import org.hibernate.service.classloading.spi.ClassLoaderService;
|
import org.hibernate.service.classloading.spi.ClassLoaderService;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import org.jboss.logging.Logger;
|
import org.jboss.logging.Logger;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.beans.Introspector;
|
import java.beans.Introspector;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
@ -42,7 +42,7 @@ import org.jboss.jandex.Type;
|
||||||
import org.hibernate.HibernateException;
|
import org.hibernate.HibernateException;
|
||||||
import org.hibernate.internal.util.StringHelper;
|
import org.hibernate.internal.util.StringHelper;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLCascadeType;
|
import org.hibernate.metamodel.source.annotation.xml.XMLCascadeType;
|
||||||
import org.hibernate.metamodel.binder.source.annotations.JPADotNames;
|
import org.hibernate.metamodel.source.annotations.JPADotNames;
|
||||||
import org.hibernate.service.ServiceRegistry;
|
import org.hibernate.service.ServiceRegistry;
|
||||||
import org.hibernate.service.classloading.spi.ClassLoaderService;
|
import org.hibernate.service.classloading.spi.ClassLoaderService;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -1,4 +1,4 @@
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -9,7 +9,7 @@ import org.jboss.jandex.AnnotationValue;
|
||||||
import org.jboss.jandex.ClassInfo;
|
import org.jboss.jandex.ClassInfo;
|
||||||
import org.jboss.jandex.DotName;
|
import org.jboss.jandex.DotName;
|
||||||
|
|
||||||
import org.hibernate.metamodel.binder.source.annotations.xml.PseudoJpaDotNames;
|
import org.hibernate.metamodel.source.annotations.xml.PseudoJpaDotNames;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLPersistenceUnitDefaults;
|
import org.hibernate.metamodel.source.annotation.xml.XMLPersistenceUnitDefaults;
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLCollectionTable;
|
import org.hibernate.metamodel.source.annotation.xml.XMLCollectionTable;
|
||||||
import org.hibernate.metamodel.source.annotation.xml.XMLJoinTable;
|
import org.hibernate.metamodel.source.annotation.xml.XMLJoinTable;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import org.jboss.jandex.ClassInfo;
|
import org.jboss.jandex.ClassInfo;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.annotations.xml.mocker;
|
package org.hibernate.metamodel.source.annotations.xml.mocker;
|
||||||
|
|
||||||
import org.jboss.jandex.ClassInfo;
|
import org.jboss.jandex.ClassInfo;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.hbm;
|
package org.hibernate.metamodel.source.hbm;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
|
@ -21,7 +21,7 @@
|
||||||
* 51 Franklin Street, Fifth Floor
|
* 51 Franklin Street, Fifth Floor
|
||||||
* Boston, MA 02110-1301 USA
|
* Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
package org.hibernate.metamodel.binder.source.hbm;
|
package org.hibernate.metamodel.source.hbm;
|
||||||
|
|
||||||
import java.beans.BeanInfo;
|
import java.beans.BeanInfo;
|
||||||
import java.beans.PropertyDescriptor;
|
import java.beans.PropertyDescriptor;
|
||||||
|
@ -37,11 +37,12 @@ import org.hibernate.engine.OptimisticLockStyle;
|
||||||
import org.hibernate.internal.util.Value;
|
import org.hibernate.internal.util.Value;
|
||||||
import org.hibernate.internal.util.beans.BeanInfoHelper;
|
import org.hibernate.internal.util.beans.BeanInfoHelper;
|
||||||
import org.hibernate.mapping.PropertyGeneration;
|
import org.hibernate.mapping.PropertyGeneration;
|
||||||
import org.hibernate.metamodel.binder.MappingException;
|
import org.hibernate.metamodel.domain.SingularAttribute;
|
||||||
import org.hibernate.metamodel.binder.source.MetadataImplementor;
|
import org.hibernate.metamodel.source.MappingException;
|
||||||
import org.hibernate.metamodel.binder.source.hbm.xml.mapping.EntityElement;
|
import org.hibernate.metamodel.source.MetadataImplementor;
|
||||||
import org.hibernate.metamodel.binder.source.hbm.xml.mapping.JoinElementSource;
|
import org.hibernate.metamodel.source.annotations.attribute.SimpleAttribute;
|
||||||
import org.hibernate.metamodel.binder.source.hbm.xml.mapping.SubEntityElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.EntityElement;
|
||||||
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.JoinElementSource;
|
||||||
import org.hibernate.metamodel.binding.BagBinding;
|
import org.hibernate.metamodel.binding.BagBinding;
|
||||||
import org.hibernate.metamodel.binding.Caching;
|
import org.hibernate.metamodel.binding.Caching;
|
||||||
import org.hibernate.metamodel.binding.EntityBinding;
|
import org.hibernate.metamodel.binding.EntityBinding;
|
||||||
|
@ -58,31 +59,31 @@ import org.hibernate.metamodel.relational.SimpleValue;
|
||||||
import org.hibernate.metamodel.relational.Size;
|
import org.hibernate.metamodel.relational.Size;
|
||||||
import org.hibernate.metamodel.relational.TableSpecification;
|
import org.hibernate.metamodel.relational.TableSpecification;
|
||||||
import org.hibernate.metamodel.relational.Tuple;
|
import org.hibernate.metamodel.relational.Tuple;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLAnyElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLAnyElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLBagElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLBagElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLCacheElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLCacheElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLColumnElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLColumnElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLComponentElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLComponentElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLDynamicComponentElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLDynamicComponentElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLHibernateMapping;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLHibernateMapping;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLIdbagElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLIdbagElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLJoinElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLJoinElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLJoinedSubclassElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLJoinedSubclassElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLListElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLListElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLManyToOneElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLManyToOneElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLMapElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLMapElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLOneToOneElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLOneToOneElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLParamElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLParamElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLPropertiesElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLPropertiesElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLPropertyElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLPropertyElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLSetElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLSetElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLSqlDeleteElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLSqlDeleteElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLSqlInsertElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLSqlInsertElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLSqlUpdateElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLSqlUpdateElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLSubclassElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLSubclassElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLSynchronizeElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLSynchronizeElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLTuplizerElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLTuplizerElement;
|
||||||
import org.hibernate.metamodel.source.hbm.xml.mapping.XMLUnionSubclassElement;
|
import org.hibernate.metamodel.source.hbm.jaxb.mapping.XMLUnionSubclassElement;
|
||||||
import org.hibernate.persister.entity.EntityPersister;
|
import org.hibernate.persister.entity.EntityPersister;
|
||||||
import org.hibernate.tuple.entity.EntityTuplizer;
|
import org.hibernate.tuple.entity.EntityTuplizer;
|
||||||
|
|
||||||
|
@ -601,7 +602,8 @@ public class BindingCreator {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void bindProperty(XMLPropertyElement property, EntityBinding entityBinding) {
|
private void bindProperty(XMLPropertyElement property, EntityBinding entityBinding) {
|
||||||
SimpleAttributeBinding attributeBinding = entityBinding.makeSimpleAttributeBinding( property.getName() );
|
SingularAttribute attr = entityBinding.getEntity().locateOrCreateSingularAttribute( property.getName() );
|
||||||
|
SimpleAttributeBinding attributeBinding = entityBinding.makeSimpleAttributeBinding( attr );
|
||||||
resolveTypeInformation( property, attributeBinding );
|
resolveTypeInformation( property, attributeBinding );
|
||||||
|
|
||||||
attributeBinding.setInsertable( Helper.getBooleanValue( property.isInsert(), true ) );
|
attributeBinding.setInsertable( Helper.getBooleanValue( property.isInsert(), true ) );
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue