Examples of OpenJPAStateManager


Examples of org.apache.openjpa.kernel.OpenJPAStateManager

        }
    }

    private void setJoinRefColumn(OpenJPAStateManager inverseSm, Column ownerCols[], Column inverseCol,
                                   Object val) {
        OpenJPAStateManager ownerSm = getPrimaryKey();
        if (ownerSm != null) {
            ClassMetaData ownerMeta = ownerSm.getMetaData();
            // loop through all the fields in the owner entity
            for (FieldMetaData ownerFM : ownerMeta.getFields()) {
                // look for any single column in this field references the
                // same column as the foreign key target column
                Column cols[] = ((FieldMapping) ownerFM).getColumns();
                if (cols.length == 1            // only support attribute of non-compound foreign key
                        && cols != ownerCols    // not @Id field
                        && cols[0].getIdentifier().equals(ownerCols[0].getIdentifier())) {
                    // copy the foreign key value to the current field.
                    FieldMetaData inverseFM = inverseSm.getMetaData().getField(
                                    inverseCol.getIdentifier().getName());
                    if (inverseFM != null) {
                        int inverseValIndex = inverseFM.getIndex();
                        Class<?> inverseType = inverseSm.getMetaData().getField(inverseValIndex).getType();
                        int ownerIndex = ownerFM.getIndex();
                        Class<?> ownerType = ownerSm.getMetaData().getField(ownerIndex).getType();
                        if (inverseType == ownerType) {
                            Object inverseVal = inverseSm.fetch(inverseValIndex);
                            ownerSm.storeField(ownerIndex, inverseVal);
                        }
                    }
                }
            }
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.