mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-10 05:04:52 +00:00
HHH-7075 - Use the term 'composition' to refer to components/embeddables
This commit is contained in:
parent
afac5ceeba
commit
9adb996520
@ -55,7 +55,7 @@
|
||||
import org.hibernate.metamodel.spi.binding.AttributeBindingContainer;
|
||||
import org.hibernate.metamodel.spi.binding.BasicAttributeBinding;
|
||||
import org.hibernate.metamodel.spi.binding.BasicPluralAttributeElementBinding;
|
||||
import org.hibernate.metamodel.spi.binding.ComponentAttributeBinding;
|
||||
import org.hibernate.metamodel.spi.binding.CompositionAttributeBinding;
|
||||
import org.hibernate.metamodel.spi.binding.EntityBinding;
|
||||
import org.hibernate.metamodel.spi.binding.EntityDiscriminator;
|
||||
import org.hibernate.metamodel.spi.binding.HibernateTypeDescriptor;
|
||||
@ -69,7 +69,7 @@
|
||||
import org.hibernate.metamodel.spi.binding.SingularAttributeBinding;
|
||||
import org.hibernate.metamodel.spi.binding.TypeDefinition;
|
||||
import org.hibernate.metamodel.spi.domain.Attribute;
|
||||
import org.hibernate.metamodel.spi.domain.Component;
|
||||
import org.hibernate.metamodel.spi.domain.Composition;
|
||||
import org.hibernate.metamodel.spi.domain.Entity;
|
||||
import org.hibernate.metamodel.spi.domain.PluralAttribute;
|
||||
import org.hibernate.metamodel.spi.domain.SingularAttribute;
|
||||
@ -723,8 +723,8 @@ private ForeignKey resolveForeignKey(
|
||||
final SingularAttributeBinding referencedAttributeBinding = (SingularAttributeBinding) referencedEntityBinding.locateAttributeBinding(
|
||||
attributeSource.getReferencedEntityAttributeName()
|
||||
);
|
||||
if ( ComponentAttributeBinding.class.isInstance( referencedAttributeBinding ) ) {
|
||||
collectValues( (ComponentAttributeBinding) referencedAttributeBinding, targetColumns );
|
||||
if ( CompositionAttributeBinding.class.isInstance( referencedAttributeBinding ) ) {
|
||||
collectValues( (CompositionAttributeBinding) referencedAttributeBinding, targetColumns );
|
||||
}
|
||||
else {
|
||||
for ( RelationalValueBinding valueBinding :( (BasicAttributeBinding) referencedAttributeBinding ).getRelationalValueBindings() ) {
|
||||
@ -749,8 +749,8 @@ private ForeignKey resolveForeignKey(
|
||||
return foreignKey;
|
||||
}
|
||||
|
||||
private void collectValues(ComponentAttributeBinding componentAttributeBinding, List<Value> targetColumns) {
|
||||
for ( AttributeBinding attributeBinding : componentAttributeBinding.attributeBindings() ) {
|
||||
private void collectValues(CompositionAttributeBinding compositionAttributeBinding, List<Value> targetColumns) {
|
||||
for ( AttributeBinding attributeBinding : compositionAttributeBinding.attributeBindings() ) {
|
||||
if ( BasicAttributeBinding.class.isInstance( attributeBinding ) ) {
|
||||
for ( RelationalValueBinding valueBinding :( (BasicAttributeBinding) attributeBinding ).getRelationalValueBindings() ) {
|
||||
targetColumns.add( valueBinding.getValue() );
|
||||
@ -761,8 +761,8 @@ else if ( ManyToOneAttributeBinding.class.isInstance( attributeBinding ) ) {
|
||||
targetColumns.add( valueBinding.getValue() );
|
||||
}
|
||||
}
|
||||
else if ( ComponentAttributeBinding.class.isInstance( attributeBinding ) ) {
|
||||
collectValues( (ComponentAttributeBinding) attributeBinding, targetColumns );
|
||||
else if ( CompositionAttributeBinding.class.isInstance( attributeBinding ) ) {
|
||||
collectValues( (CompositionAttributeBinding) attributeBinding, targetColumns );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -819,19 +819,19 @@ private void bindComponentAttribute(
|
||||
AttributeBindingContainer container,
|
||||
Deque<TableSpecification> tableStack) {
|
||||
final String attributeName = attributeSource.getName();
|
||||
SingularAttribute attribute = container.getAttributeContainer().locateComponentAttribute( attributeName );
|
||||
final Component component;
|
||||
SingularAttribute attribute = container.getAttributeContainer().locateCompositionAttribute( attributeName );
|
||||
final Composition composition;
|
||||
if ( attribute == null ) {
|
||||
component = new Component(
|
||||
composition = new Composition(
|
||||
attributeSource.getPath(),
|
||||
attributeSource.getClassName(),
|
||||
attributeSource.getClassReference(),
|
||||
null // component inheritance not YET supported
|
||||
null // composition inheritance not YET supported
|
||||
);
|
||||
attribute = container.getAttributeContainer().createComponentAttribute( attributeName, component );
|
||||
attribute = container.getAttributeContainer().createCompositionAttribute( attributeName, composition );
|
||||
}
|
||||
else {
|
||||
component = (Component) attribute.getSingularAttributeType();
|
||||
composition = (Composition) attribute.getSingularAttributeType();
|
||||
}
|
||||
|
||||
final String propertyAccessorName = Helper.getPropertyAccessorName(
|
||||
@ -846,13 +846,13 @@ private void bindComponentAttribute(
|
||||
|
||||
final SingularAttribute parentReferenceAttribute;
|
||||
if ( StringHelper.isNotEmpty( attributeSource.getParentReferenceAttributeName() ) ) {
|
||||
parentReferenceAttribute = component.createSingularAttribute( attributeSource.getParentReferenceAttributeName() );
|
||||
parentReferenceAttribute = composition.createSingularAttribute( attributeSource.getParentReferenceAttributeName() );
|
||||
}
|
||||
else {
|
||||
parentReferenceAttribute = null;
|
||||
}
|
||||
|
||||
ComponentAttributeBinding componentAttributeBinding = container.makeComponentAttributeBinding(
|
||||
CompositionAttributeBinding compositionAttributeBinding = container.makeComponentAttributeBinding(
|
||||
attribute,
|
||||
parentReferenceAttribute,
|
||||
propertyAccessorName,
|
||||
@ -861,7 +861,7 @@ private void bindComponentAttribute(
|
||||
metaAttributeContext
|
||||
);
|
||||
|
||||
bindAttributes( attributeSource, componentAttributeBinding, tableStack );
|
||||
bindAttributes( attributeSource, compositionAttributeBinding, tableStack );
|
||||
}
|
||||
|
||||
private void bindPersistentCollection(
|
||||
@ -1416,17 +1416,17 @@ private void pushHibernateTypeInformationDownIfNeeded(
|
||||
resolvedHibernateType
|
||||
);
|
||||
}
|
||||
else if ( ComponentAttributeBinding.class.isInstance( attributeBinding ) ) {
|
||||
else if ( CompositionAttributeBinding.class.isInstance( attributeBinding ) ) {
|
||||
pushHibernateTypeInformationDownIfNeeded(
|
||||
hibernateTypeDescriptor,
|
||||
(ComponentAttributeBinding) attributeBinding
|
||||
(CompositionAttributeBinding) attributeBinding
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private void pushHibernateTypeInformationDownIfNeeded(
|
||||
HibernateTypeDescriptor hibernateTypeDescriptor,
|
||||
ComponentAttributeBinding attributeBinding) {
|
||||
CompositionAttributeBinding attributeBinding) {
|
||||
final SingularAttribute singularAttribute = SingularAttribute.class.cast( attributeBinding.getAttribute() );
|
||||
if ( ! singularAttribute.isTypeResolved() && hibernateTypeDescriptor.getJavaTypeName() != null ) {
|
||||
singularAttribute.resolveType( metadata.makeJavaType( hibernateTypeDescriptor.getJavaTypeName() ) );
|
||||
|
@ -30,11 +30,10 @@
|
||||
import org.hibernate.metamodel.spi.domain.AttributeContainer;
|
||||
import org.hibernate.metamodel.spi.domain.PluralAttribute;
|
||||
import org.hibernate.metamodel.spi.domain.SingularAttribute;
|
||||
import org.hibernate.metamodel.spi.relational.ForeignKey;
|
||||
import org.hibernate.metamodel.spi.source.MetaAttributeContext;
|
||||
|
||||
/**
|
||||
* Common contract for {@link EntityBinding} and {@link ComponentAttributeBinding} in so far as they are both
|
||||
* Common contract for {@link EntityBinding} and {@link CompositionAttributeBinding} in so far as they are both
|
||||
* containers for {@link AttributeBinding} descriptors
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
@ -93,7 +92,7 @@ public BasicAttributeBinding makeBasicAttributeBinding(
|
||||
*
|
||||
* @return The attribute binding instance.
|
||||
*/
|
||||
public ComponentAttributeBinding makeComponentAttributeBinding(
|
||||
public CompositionAttributeBinding makeComponentAttributeBinding(
|
||||
SingularAttribute attribute,
|
||||
SingularAttribute parentReferenceAttribute,
|
||||
String propertyAccessorName,
|
||||
|
@ -31,24 +31,23 @@
|
||||
|
||||
import org.hibernate.mapping.PropertyGeneration;
|
||||
import org.hibernate.metamodel.spi.domain.AttributeContainer;
|
||||
import org.hibernate.metamodel.spi.domain.Component;
|
||||
import org.hibernate.metamodel.spi.domain.Composition;
|
||||
import org.hibernate.metamodel.spi.domain.PluralAttribute;
|
||||
import org.hibernate.metamodel.spi.domain.PluralAttributeNature;
|
||||
import org.hibernate.metamodel.spi.domain.SingularAttribute;
|
||||
import org.hibernate.metamodel.spi.relational.ForeignKey;
|
||||
import org.hibernate.metamodel.spi.source.MetaAttributeContext;
|
||||
|
||||
/**
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
public class ComponentAttributeBinding
|
||||
public class CompositionAttributeBinding
|
||||
extends AbstractSingularAttributeBinding
|
||||
implements AttributeBindingContainer {
|
||||
private final String path;
|
||||
private final SingularAttribute parentReference;
|
||||
private Map<String, AttributeBinding> attributeBindingMap = new HashMap<String, AttributeBinding>();
|
||||
|
||||
public ComponentAttributeBinding(
|
||||
public CompositionAttributeBinding(
|
||||
AttributeBindingContainer container,
|
||||
SingularAttribute attribute,
|
||||
String propertyAccessorName,
|
||||
@ -99,8 +98,8 @@ public AttributeContainer getAttributeContainer() {
|
||||
return getComponent();
|
||||
}
|
||||
|
||||
public Component getComponent() {
|
||||
return (Component) getAttribute().getSingularAttributeType();
|
||||
public Composition getComponent() {
|
||||
return (Composition) getAttribute().getSingularAttributeType();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -159,14 +158,14 @@ protected void registerAttributeBinding(String name, AttributeBinding attributeB
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentAttributeBinding makeComponentAttributeBinding(
|
||||
public CompositionAttributeBinding makeComponentAttributeBinding(
|
||||
SingularAttribute attribute,
|
||||
SingularAttribute parentReferenceAttribute,
|
||||
String propertyAccessorName,
|
||||
boolean includedInOptimisticLocking,
|
||||
boolean lazy,
|
||||
MetaAttributeContext metaAttributeContext) {
|
||||
final ComponentAttributeBinding binding = new ComponentAttributeBinding(
|
||||
final CompositionAttributeBinding binding = new CompositionAttributeBinding(
|
||||
this,
|
||||
attribute,
|
||||
propertyAccessorName,
|
@ -512,14 +512,14 @@ public BasicAttributeBinding makeBasicAttributeBinding(
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentAttributeBinding makeComponentAttributeBinding(
|
||||
public CompositionAttributeBinding makeComponentAttributeBinding(
|
||||
SingularAttribute attribute,
|
||||
SingularAttribute parentReferenceAttribute,
|
||||
String propertyAccessorName,
|
||||
boolean includedInOptimisticLocking,
|
||||
boolean lazy,
|
||||
MetaAttributeContext metaAttributeContext) {
|
||||
final ComponentAttributeBinding binding = new ComponentAttributeBinding(
|
||||
final CompositionAttributeBinding binding = new CompositionAttributeBinding(
|
||||
this,
|
||||
attribute,
|
||||
propertyAccessorName,
|
||||
|
@ -112,14 +112,14 @@ public SingularAttribute createVirtualSingularAttribute(String name) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingularAttribute locateComponentAttribute(String name) {
|
||||
public SingularAttribute locateCompositionAttribute(String name) {
|
||||
return (SingularAttributeImpl) locateAttribute( name );
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingularAttribute createComponentAttribute(String name, Component component) {
|
||||
public SingularAttribute createCompositionAttribute(String name, Composition composition) {
|
||||
SingularAttributeImpl attribute = new SingularAttributeImpl( name, this );
|
||||
attribute.resolveType( component );
|
||||
attribute.resolveType( composition );
|
||||
addAttribute( attribute );
|
||||
return attribute;
|
||||
}
|
||||
|
@ -62,8 +62,8 @@ public interface AttributeContainer extends Type {
|
||||
public SingularAttribute createSingularAttribute(String name);
|
||||
public SingularAttribute createVirtualSingularAttribute(String name);
|
||||
|
||||
public SingularAttribute locateComponentAttribute(String name);
|
||||
public SingularAttribute createComponentAttribute(String name, Component component);
|
||||
public SingularAttribute locateCompositionAttribute(String name);
|
||||
public SingularAttribute createCompositionAttribute(String name, Composition composition);
|
||||
|
||||
public PluralAttribute locatePluralAttribute(String name);
|
||||
|
||||
|
@ -32,8 +32,8 @@
|
||||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
public class Component extends AbstractAttributeContainer {
|
||||
public Component(String name, String className, Value<Class<?>> classReference, Hierarchical superType) {
|
||||
public class Composition extends AbstractAttributeContainer {
|
||||
public Composition(String name, String className, Value<Class<?>> classReference, Hierarchical superType) {
|
||||
super( name, className, classReference, superType );
|
||||
}
|
||||
|
@ -55,6 +55,7 @@
|
||||
import org.hibernate.metamodel.spi.binding.BasicAttributeBinding;
|
||||
import org.hibernate.metamodel.spi.binding.EntityBinding;
|
||||
import org.hibernate.metamodel.spi.domain.Attribute;
|
||||
import org.hibernate.metamodel.spi.domain.Composition;
|
||||
import org.hibernate.metamodel.spi.domain.SingularAttribute;
|
||||
import org.hibernate.tuple.IdentifierProperty;
|
||||
import org.hibernate.tuple.PropertyFactory;
|
||||
@ -607,8 +608,8 @@ private ValueInclusion determineInsertValueGenerationType(AttributeBinding mappi
|
||||
return ValueInclusion.FULL;
|
||||
}
|
||||
// TODO: fix the following when components are working (HHH-6173)
|
||||
//else if ( mappingProperty.getValue() instanceof ComponentAttributeBinding ) {
|
||||
// if ( hasPartialInsertComponentGeneration( ( ComponentAttributeBinding ) mappingProperty.getValue() ) ) {
|
||||
//else if ( mappingProperty.getValue() instanceof CompositionAttributeBinding ) {
|
||||
// if ( hasPartialInsertComponentGeneration( ( CompositionAttributeBinding ) mappingProperty.getValue() ) ) {
|
||||
// return ValueInclusion.PARTIAL;
|
||||
// }
|
||||
//}
|
||||
@ -648,8 +649,8 @@ private ValueInclusion determineUpdateValueGenerationType(AttributeBinding mappi
|
||||
return ValueInclusion.FULL;
|
||||
}
|
||||
// TODO: fix the following when components are working (HHH-6173)
|
||||
//else if ( mappingProperty.getValue() instanceof ComponentAttributeBinding ) {
|
||||
// if ( hasPartialUpdateComponentGeneration( ( ComponentAttributeBinding ) mappingProperty.getValue() ) ) {
|
||||
//else if ( mappingProperty.getValue() instanceof CompositionAttributeBinding ) {
|
||||
// if ( hasPartialUpdateComponentGeneration( ( CompositionAttributeBinding ) mappingProperty.getValue() ) ) {
|
||||
// return ValueInclusion.PARTIAL;
|
||||
// }
|
||||
//}
|
||||
@ -690,9 +691,9 @@ private void mapPropertyToIndex(Attribute attribute, int i) {
|
||||
propertyIndexes.put( attribute.getName(), i );
|
||||
if ( attribute.isSingular() &&
|
||||
( ( SingularAttribute ) attribute ).getSingularAttributeType().isComponent() ) {
|
||||
org.hibernate.metamodel.spi.domain.Component component =
|
||||
(org.hibernate.metamodel.spi.domain.Component) ( (SingularAttribute) attribute ).getSingularAttributeType();
|
||||
for ( Attribute subAttribute : component.attributes() ) {
|
||||
Composition composition =
|
||||
(Composition) ( (SingularAttribute) attribute ).getSingularAttributeType();
|
||||
for ( Attribute subAttribute : composition.attributes() ) {
|
||||
propertyIndexes.put(
|
||||
attribute.getName() + '.' + subAttribute.getName(),
|
||||
i
|
||||
|
@ -34,7 +34,7 @@
|
||||
import org.hibernate.annotations.Parent;
|
||||
import org.hibernate.annotations.Target;
|
||||
import org.hibernate.metamodel.spi.binding.BasicAttributeBinding;
|
||||
import org.hibernate.metamodel.spi.binding.ComponentAttributeBinding;
|
||||
import org.hibernate.metamodel.spi.binding.CompositionAttributeBinding;
|
||||
import org.hibernate.metamodel.spi.binding.EntityBinding;
|
||||
|
||||
import org.junit.Test;
|
||||
@ -72,8 +72,8 @@ public void testEmbeddable() {
|
||||
|
||||
final String componentName = "phone";
|
||||
assertNotNull( binding.locateAttributeBinding( componentName ) );
|
||||
assertTrue( binding.locateAttributeBinding( componentName ) instanceof ComponentAttributeBinding );
|
||||
ComponentAttributeBinding componentBinding = (ComponentAttributeBinding) binding.locateAttributeBinding(
|
||||
assertTrue( binding.locateAttributeBinding( componentName ) instanceof CompositionAttributeBinding );
|
||||
CompositionAttributeBinding compositionBinding = (CompositionAttributeBinding) binding.locateAttributeBinding(
|
||||
componentName
|
||||
);
|
||||
|
||||
@ -81,12 +81,12 @@ public void testEmbeddable() {
|
||||
assertEquals(
|
||||
"Wrong path",
|
||||
EmbeddableBindingTest.User.class.getName() + ".phone",
|
||||
componentBinding.getPathBase()
|
||||
compositionBinding.getPathBase()
|
||||
);
|
||||
|
||||
assertNotNull( componentBinding.locateAttributeBinding( "countryCode" ) );
|
||||
assertNotNull( componentBinding.locateAttributeBinding( "areaCode" ) );
|
||||
assertNotNull( componentBinding.locateAttributeBinding( "number" ) );
|
||||
assertNotNull( compositionBinding.locateAttributeBinding( "countryCode" ) );
|
||||
assertNotNull( compositionBinding.locateAttributeBinding( "areaCode" ) );
|
||||
assertNotNull( compositionBinding.locateAttributeBinding( "number" ) );
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -113,13 +113,13 @@ public void testEmbeddableWithAttributeOverride() {
|
||||
|
||||
final String componentName = "embedded";
|
||||
assertNotNull( binding.locateAttributeBinding( componentName ) );
|
||||
assertTrue( binding.locateAttributeBinding( componentName ) instanceof ComponentAttributeBinding );
|
||||
ComponentAttributeBinding componentBinding = (ComponentAttributeBinding) binding.locateAttributeBinding(
|
||||
assertTrue( binding.locateAttributeBinding( componentName ) instanceof CompositionAttributeBinding );
|
||||
CompositionAttributeBinding compositionBinding = (CompositionAttributeBinding) binding.locateAttributeBinding(
|
||||
componentName
|
||||
);
|
||||
|
||||
assertNotNull( componentBinding.locateAttributeBinding( "name" ) );
|
||||
BasicAttributeBinding nameAttribute = (BasicAttributeBinding) componentBinding.locateAttributeBinding( "name" );
|
||||
assertNotNull( compositionBinding.locateAttributeBinding( "name" ) );
|
||||
BasicAttributeBinding nameAttribute = (BasicAttributeBinding) compositionBinding.locateAttributeBinding( "name" );
|
||||
assertEquals( 1, nameAttribute.getRelationalValueBindings().size() );
|
||||
org.hibernate.metamodel.spi.relational.Column column
|
||||
= (org.hibernate.metamodel.spi.relational.Column) nameAttribute.getRelationalValueBindings().get( 0 ).getValue();
|
||||
@ -168,16 +168,16 @@ public void testNestedEmbeddable() {
|
||||
|
||||
final String addressComponentName = "address";
|
||||
assertNotNull( binding.locateAttributeBinding( addressComponentName ) );
|
||||
assertTrue( binding.locateAttributeBinding( addressComponentName ) instanceof ComponentAttributeBinding );
|
||||
ComponentAttributeBinding attributeComponentBinding = (ComponentAttributeBinding) binding.locateAttributeBinding(
|
||||
assertTrue( binding.locateAttributeBinding( addressComponentName ) instanceof CompositionAttributeBinding );
|
||||
CompositionAttributeBinding attributeCompositionBinding = (CompositionAttributeBinding) binding.locateAttributeBinding(
|
||||
addressComponentName
|
||||
);
|
||||
|
||||
assertNotNull( attributeComponentBinding.locateAttributeBinding( "street" ) );
|
||||
assertNotNull( attributeComponentBinding.locateAttributeBinding( "city" ) );
|
||||
assertNotNull( attributeComponentBinding.locateAttributeBinding( "state" ) );
|
||||
assertNotNull( attributeCompositionBinding.locateAttributeBinding( "street" ) );
|
||||
assertNotNull( attributeCompositionBinding.locateAttributeBinding( "city" ) );
|
||||
assertNotNull( attributeCompositionBinding.locateAttributeBinding( "state" ) );
|
||||
|
||||
BasicAttributeBinding stateAttribute = (BasicAttributeBinding) attributeComponentBinding.locateAttributeBinding(
|
||||
BasicAttributeBinding stateAttribute = (BasicAttributeBinding) attributeCompositionBinding.locateAttributeBinding(
|
||||
"state"
|
||||
);
|
||||
assertEquals( 1, stateAttribute.getRelationalValueBindings().size() );
|
||||
@ -191,13 +191,13 @@ public void testNestedEmbeddable() {
|
||||
|
||||
|
||||
final String zipComponentName = "zipcode";
|
||||
assertNotNull( attributeComponentBinding.locateAttributeBinding( zipComponentName ) );
|
||||
assertTrue( attributeComponentBinding.locateAttributeBinding( zipComponentName ) instanceof ComponentAttributeBinding );
|
||||
ComponentAttributeBinding zipComponentBinding = (ComponentAttributeBinding) attributeComponentBinding.locateAttributeBinding(
|
||||
assertNotNull( attributeCompositionBinding.locateAttributeBinding( zipComponentName ) );
|
||||
assertTrue( attributeCompositionBinding.locateAttributeBinding( zipComponentName ) instanceof CompositionAttributeBinding );
|
||||
CompositionAttributeBinding zipCompositionBinding = (CompositionAttributeBinding) attributeCompositionBinding.locateAttributeBinding(
|
||||
zipComponentName
|
||||
);
|
||||
|
||||
BasicAttributeBinding nameAttribute = (BasicAttributeBinding) zipComponentBinding.locateAttributeBinding( "zip" );
|
||||
BasicAttributeBinding nameAttribute = (BasicAttributeBinding) zipCompositionBinding.locateAttributeBinding( "zip" );
|
||||
assertEquals( 1, nameAttribute.getRelationalValueBindings().size() );
|
||||
column = (org.hibernate.metamodel.spi.relational.Column) nameAttribute.getRelationalValueBindings().get( 0 ).getValue();
|
||||
assertEquals(
|
||||
@ -262,19 +262,19 @@ public void testAttributeOverrideInEmbeddable() {
|
||||
|
||||
final String aComponentName = "a";
|
||||
assertNotNull( binding.locateAttributeBinding( aComponentName ) );
|
||||
assertTrue( binding.locateAttributeBinding( aComponentName ) instanceof ComponentAttributeBinding );
|
||||
ComponentAttributeBinding aComponentBinding = (ComponentAttributeBinding) binding.locateAttributeBinding(
|
||||
assertTrue( binding.locateAttributeBinding( aComponentName ) instanceof CompositionAttributeBinding );
|
||||
CompositionAttributeBinding aCompositionBinding = (CompositionAttributeBinding) binding.locateAttributeBinding(
|
||||
aComponentName
|
||||
);
|
||||
|
||||
final String bComponentName = "b";
|
||||
assertNotNull( aComponentBinding.locateAttributeBinding( bComponentName ) );
|
||||
assertTrue( aComponentBinding.locateAttributeBinding( bComponentName ) instanceof ComponentAttributeBinding );
|
||||
ComponentAttributeBinding bComponentBinding = (ComponentAttributeBinding) aComponentBinding.locateAttributeBinding(
|
||||
assertNotNull( aCompositionBinding.locateAttributeBinding( bComponentName ) );
|
||||
assertTrue( aCompositionBinding.locateAttributeBinding( bComponentName ) instanceof CompositionAttributeBinding );
|
||||
CompositionAttributeBinding bCompositionBinding = (CompositionAttributeBinding) aCompositionBinding.locateAttributeBinding(
|
||||
bComponentName
|
||||
);
|
||||
|
||||
BasicAttributeBinding attribute = (BasicAttributeBinding) bComponentBinding.locateAttributeBinding( "foo" );
|
||||
BasicAttributeBinding attribute = (BasicAttributeBinding) bCompositionBinding.locateAttributeBinding( "foo" );
|
||||
assertEquals( 1, attribute.getRelationalValueBindings().size() );
|
||||
org.hibernate.metamodel.spi.relational.Column column
|
||||
= (org.hibernate.metamodel.spi.relational.Column) attribute.getRelationalValueBindings().get( 0 ).getValue();
|
||||
@ -284,7 +284,7 @@ public void testAttributeOverrideInEmbeddable() {
|
||||
column.getColumnName().getName()
|
||||
);
|
||||
|
||||
attribute = (BasicAttributeBinding) bComponentBinding.locateAttributeBinding( "fubar" );
|
||||
attribute = (BasicAttributeBinding) bCompositionBinding.locateAttributeBinding( "fubar" );
|
||||
assertEquals( 1, attribute.getRelationalValueBindings().size() );
|
||||
column = (org.hibernate.metamodel.spi.relational.Column) attribute.getRelationalValueBindings().get( 0 ).getValue();
|
||||
assertEquals(
|
||||
@ -319,12 +319,12 @@ public void testParentReferencingAttributeName() {
|
||||
|
||||
final String componentName = "embedded";
|
||||
assertNotNull( binding.locateAttributeBinding( componentName ) );
|
||||
assertTrue( binding.locateAttributeBinding( componentName ) instanceof ComponentAttributeBinding );
|
||||
ComponentAttributeBinding componentBinding = (ComponentAttributeBinding) binding.locateAttributeBinding(
|
||||
assertTrue( binding.locateAttributeBinding( componentName ) instanceof CompositionAttributeBinding );
|
||||
CompositionAttributeBinding compositionBinding = (CompositionAttributeBinding) binding.locateAttributeBinding(
|
||||
componentName
|
||||
);
|
||||
|
||||
assertEquals( "Wrong parent reference name", "parent", componentBinding.getParentReference().getName() );
|
||||
assertEquals( "Wrong parent reference name", "parent", compositionBinding.getParentReference().getName() );
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -365,12 +365,12 @@ public void testTargetAnnotationWithEmbeddable() {
|
||||
|
||||
final String componentName = "car";
|
||||
assertNotNull( binding.locateAttributeBinding( componentName ) );
|
||||
assertTrue( binding.locateAttributeBinding( componentName ) instanceof ComponentAttributeBinding );
|
||||
ComponentAttributeBinding componentBinding = (ComponentAttributeBinding) binding.locateAttributeBinding(
|
||||
assertTrue( binding.locateAttributeBinding( componentName ) instanceof CompositionAttributeBinding );
|
||||
CompositionAttributeBinding compositionBinding = (CompositionAttributeBinding) binding.locateAttributeBinding(
|
||||
componentName
|
||||
);
|
||||
|
||||
BasicAttributeBinding attribute = (BasicAttributeBinding) componentBinding.locateAttributeBinding( "horsePower" );
|
||||
BasicAttributeBinding attribute = (BasicAttributeBinding) compositionBinding.locateAttributeBinding( "horsePower" );
|
||||
assertTrue( attribute.getAttribute().isTypeResolved() );
|
||||
assertEquals(
|
||||
"Wrong resolved type",
|
||||
|
@ -137,12 +137,12 @@ public void testSimpleEntityWithSimpleComponentMapping() {
|
||||
assertRoot( metadata, entityBinding );
|
||||
assertIdAndSimpleProperty( entityBinding );
|
||||
|
||||
ComponentAttributeBinding componentAttributeBinding = (ComponentAttributeBinding) entityBinding.locateAttributeBinding( "simpleComponent" );
|
||||
assertNotNull( componentAttributeBinding );
|
||||
assertSame( componentAttributeBinding.getAttribute().getSingularAttributeType(), componentAttributeBinding.getAttributeContainer() );
|
||||
assertEquals( SimpleEntityWithSimpleComponent.class.getName() + ".simpleComponent", componentAttributeBinding.getPathBase() );
|
||||
assertSame( entityBinding, componentAttributeBinding.seekEntityBinding() );
|
||||
assertNotNull( componentAttributeBinding.getComponent() );
|
||||
CompositionAttributeBinding compositionAttributeBinding = (CompositionAttributeBinding) entityBinding.locateAttributeBinding( "simpleComponent" );
|
||||
assertNotNull( compositionAttributeBinding );
|
||||
assertSame( compositionAttributeBinding.getAttribute().getSingularAttributeType(), compositionAttributeBinding.getAttributeContainer() );
|
||||
assertEquals( SimpleEntityWithSimpleComponent.class.getName() + ".simpleComponent", compositionAttributeBinding.getPathBase() );
|
||||
assertSame( entityBinding, compositionAttributeBinding.seekEntityBinding() );
|
||||
assertNotNull( compositionAttributeBinding.getComponent() );
|
||||
}
|
||||
|
||||
public abstract void addSourcesForSimpleVersionedEntityBinding(MetadataSources sources);
|
||||
|
Loading…
x
Reference in New Issue
Block a user