Example usage for org.hibernate.mapping Property setNaturalIdentifier

List of usage examples for org.hibernate.mapping Property setNaturalIdentifier

Introduction

In this page you can find the example usage for org.hibernate.mapping Property setNaturalIdentifier.

Prototype

public void setNaturalIdentifier(boolean naturalIdentifier) 

Source Link

Usage

From source file:org.codehaus.groovy.grails.orm.hibernate.cfg.AbstractGrailsDomainBinder.java

License:Apache License

protected void bindNaturalIdentifier(Table table, Mapping mapping, PersistentClass persistentClass) {
    Object o = mapping != null ? mapping.getIdentity() : null;
    if (!(o instanceof Identity)) {
        return;//from w ww.  j a v a2s  .c  o m
    }

    Identity identity = (Identity) o;
    final NaturalId naturalId = identity.getNatural();
    if (naturalId == null || naturalId.getPropertyNames().isEmpty()) {
        return;
    }

    UniqueKey uk = new UniqueKey();
    uk.setTable(table);

    boolean mutable = naturalId.isMutable();

    for (String propertyName : naturalId.getPropertyNames()) {
        Property property = persistentClass.getProperty(propertyName);

        property.setNaturalIdentifier(true);
        if (!mutable)
            property.setUpdateable(false);

        uk.addColumns(property.getColumnIterator());
    }

    setUniqueName(uk);

    table.addUniqueKey(uk);
}

From source file:org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder.java

License:Apache License

private static void bindNaturalIdentifier(Table table, Mapping mapping, PersistentClass persistentClass) {
    Object o = mapping != null ? mapping.getIdentity() : null;
    if (o instanceof Identity) {
        Identity identity = (Identity) o;
        final NaturalId naturalId = identity.getNatural();
        if (naturalId != null && !naturalId.getPropertyNames().isEmpty()) {
            UniqueKey uk = new UniqueKey();
            uk.setName("_UniqueKey");
            uk.setTable(table);//from   w w w  .  j  a  va 2  s.c o m

            boolean mutable = naturalId.isMutable();

            for (String propertyName : naturalId.getPropertyNames()) {
                Property property = persistentClass.getProperty(propertyName);

                property.setNaturalIdentifier(true);
                if (!mutable)
                    property.setUpdateable(false);

                uk.addColumns(property.getColumnIterator());
            }

            table.addUniqueKey(uk);
        }
    }
}

From source file:org.grails.orm.hibernate.cfg.AbstractGrailsDomainBinder.java

License:Apache License

protected void bindNaturalIdentifier(Table table, Mapping mapping, PersistentClass persistentClass) {
    Object o = mapping != null ? mapping.getIdentity() : null;
    if (!(o instanceof Identity)) {
        return;//from w  w  w . j  a va 2s  .  co  m
    }

    Identity identity = (Identity) o;
    final NaturalId naturalId = identity.getNatural();
    if (naturalId == null || naturalId.getPropertyNames().isEmpty()) {
        return;
    }

    UniqueKey uk = new UniqueKey();
    uk.setTable(table);

    boolean mutable = naturalId.isMutable();

    for (String propertyName : naturalId.getPropertyNames()) {
        Property property = persistentClass.getProperty(propertyName);

        property.setNaturalIdentifier(true);
        if (!mutable)
            property.setUpdateable(false);

        uk.addColumns(property.getColumnIterator());
    }

    setGeneratedUniqueName(uk);

    table.addUniqueKey(uk);
}