## org.hibernate.metamodel.source.binder
Interface SingularAttributeSource

All Superinterfaces:
  AttributeSource, RelationalValueSourceContainer

All Known Subinterfaces:
  ComponentAttributeSource, ToOneAttributeSource

All Known Implementing Classes:
  ComponentAttributeSourceImpl, ComponentAttributeSourceImpl, SingularAttributeSourceImpl, ToOneAttributeSourceImpl

    public interface SingularAttributeSource

extends AttributeSource, RelationalValueSourceContainer

Source-agnostic description of information needed to bind a singular attribute.

Method Summary
`PropertyGeneration` `getGeneration()` Obtain a description of if/when the attribute value is generated by the database.
`SingularAttributeNature` `getNature()` Obtain the nature of this attribute type.
`boolean` `isInsertable()` Determine whether this attribute is insertable.
`boolean` `isLazy()` Should the attribute be (bytecode enhancement) lazily loaded?
`boolean` `isUpdatable()` Determine whether this attribute is updateable.
`boolean` `isVirtualAttribute()` Determine whether this is a virtual attribute or whether it physically exists on the users domain model.

Methods inherited from interface org.hibernate.metamodel.source.binder.AttributeSource
`getName, getPropertyAccessorName, getTypeInformation, isIncludedInOptimisticLocking, isSingular, metaAttributes`

Methods inherited from interface org.hibernate.metamodel.source.binder.RelationalValueSourceContainer
`areValuesIncludedInInsertByDefault, areValuesIncludedInUpdateByDefault, areValuesNullableByDefault, relationalValueSources`

Method Detail

### isVirtualAttribute

    boolean isVirtualAttribute()

  Determine whether this is a virtual attribute or whether it physically exists on the users domain model.

  Returns:
    `true` indicates the attribute is virtual, meaning it does NOT exist on the domain model; `false` indicates the attribute physically exists.

### getNature

    SingularAttributeNature getNature()

  Obtain the nature of this attribute type.

  Returns:
    The attribute type nature

### isInsertable

    boolean isInsertable()

  Determine whether this attribute is insertable.

  Returns:
    `true` indicates the attribute value should be used in the `SQL INSERT`; `false` indicates it should not.

### isUpdatable

    boolean isUpdatable()

  Determine whether this attribute is updateable.

  Returns:
    `true` indicates the attribute value should be used in the `SQL UPDATE`; `false` indicates it should not.

### getGeneration

    PropertyGeneration getGeneration()

  Obtain a description of if/when the attribute value is generated by the database.

  Returns:
    The attribute value generation information

### isLazy

    boolean isLazy()

  Should the attribute be (bytecode enhancement) lazily loaded?

  Returns:
    `true` to indicate the attribute should be lazily loaded.

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.