Example usage for org.hibernate.type ForeignKeyDirection TO_PARENT

List of usage examples for org.hibernate.type ForeignKeyDirection TO_PARENT

Introduction

In this page you can find the example usage for org.hibernate.type ForeignKeyDirection TO_PARENT.

Prototype

ForeignKeyDirection TO_PARENT

To view the source code for org.hibernate.type ForeignKeyDirection TO_PARENT.

Click Source Link

Document

A foreign key from child to parent

Usage

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

License:Apache License

protected void bindOneToOne(final org.grails.datastore.mapping.model.types.OneToOne property, OneToOne oneToOne,
        String path, String sessionFactoryBeanName) {
    PropertyConfig config = getPropertyConfig(property);
    final Association otherSide = property.getInverseSide();

    final boolean hasOne = isHasOne(otherSide);
    oneToOne.setConstrained(hasOne);/*ww w.j  a  v a2s.c  o  m*/
    oneToOne.setForeignKeyType(
            oneToOne.isConstrained() ? ForeignKeyDirection.FROM_PARENT : ForeignKeyDirection.TO_PARENT);
    oneToOne.setAlternateUniqueKey(true);

    if (config != null && config.getFetchMode() != null) {
        oneToOne.setFetchMode(config.getFetchMode());
    } else {
        oneToOne.setFetchMode(FetchMode.DEFAULT);
    }

    oneToOne.setReferencedEntityName(otherSide.getOwner().getName());
    oneToOne.setPropertyName(property.getName());
    oneToOne.setReferenceToPrimaryKey(false);

    bindOneToOneInternal(property, oneToOne, path);

    if (hasOne) {
        PropertyConfig pc = getPropertyConfig(property);
        bindSimpleValue(property, oneToOne, path, pc, sessionFactoryBeanName);
    } else {
        oneToOne.setReferencedPropertyName(otherSide.getName());
    }
}