/** * Invokes {@link FieldStrategy#joinKeyRelation} by default. */ public Joins joinKeyRelation(Joins joins, ClassMapping key) { return joinKeyRelation(joins, false, false); }
/** * Invokes {@link FieldStrategy#joinRelation} by default. */ public Joins joinValueRelation(Joins joins, ClassMapping val) { return joinRelation(joins, false, false); }
public Object loadKeyProjection(JDBCStore store, JDBCFetchConfiguration fetch, Result res, Joins joins) throws SQLException { return loadKey(null, store, fetch, res, joins); }
public void load(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch) throws SQLException { if (field.isLRS()) { sm.storeObjectField(field.getIndex(), new LRSProxyMap(this)); return; } // select all and load into a normal proxy Joins[] joins = new Joins[2]; Result[] res = getResults(sm, store, fetch, JDBCFetchConfiguration.EAGER_PARALLEL, joins, false); try { Map map = (Map) sm.newProxy(field.getIndex()); Object key, val; while (res[0].next()) { if (res[1] != res[0] && !res[1].next()) break; key = loadKey(sm, store, fetch, res[0], joins[0]); val = loadValue(sm, store, fetch, res[1], joins[1]); map.put(key, val); } sm.storeObject(field.getIndex(), map); } finally { res[0].close(); if (res[1] != res[0]) res[1].close(); } }
public void map(boolean adapt) { super.map(adapt); ValueMapping key = field.getKeyMapping(); if (key.getTypeCode() != JavaTypes.PC || key.isEmbeddedPC()) throw new MetaDataException(_loc.get("not-relation", key)); ValueMapping val = field.getElementMapping(); if (val.getTypeCode() != JavaTypes.PC || val.isEmbeddedPC()) throw new MetaDataException(_loc.get("not-relation", val)); assertNotMappedBy(); field.mapJoin(adapt, true); mapTypeJoin(key, "key", adapt); mapTypeJoin(val, "value", adapt); field.mapPrimaryKey(adapt); }
public void delete(OpenJPAStateManager sm, JDBCStore store, RowManager rm) throws SQLException { if (field.isUni1ToMFK()) { Map mapObj = (Map)sm.fetchObject(field.getIndex()); updateSetNull(sm, store, rm, mapObj.keySet()); return; } super.delete(sm, store, rm); }
public Object loadProjection(JDBCStore store, JDBCFetchConfiguration fetch, Result res, Joins joins) throws SQLException { return loadValue(null, store, fetch, res, joins); }
throws SQLException { ClassMapping meta = (ClassMapping)valsm.getMetaData(); FieldMapping fm = getFieldMapping(meta); if (fm == null) return false;
field.setColumns(mapped.getDefiningMapping(). getPrimaryKeyColumns()); } else if (isTypeUnjoinedSubclass(mapped)) throw new MetaDataException(_loc.get ("mapped-inverse-unjoined", field.getName(), field.setJoinForeignKey(fk); } else if (mapped.getElement().getTypeCode() == JavaTypes.PC) { if (isTypeUnjoinedSubclass(mapped.getElementMapping())) throw new MetaDataException(_loc.get ("mapped-inverse-unjoined", field.getName(),
public void load(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch) throws SQLException { if (field.isLRS()) { sm.storeObjectField(field.getIndex(), new LRSProxyMap(this)); return; } // select all and load into a normal proxy Joins[] joins = new Joins[2]; Result[] res = getResults(sm, store, fetch, JDBCFetchConfiguration.EAGER_PARALLEL, joins, false); try { Map map = (Map) sm.newProxy(field.getIndex()); Object key, val; while (res[0].next()) { if (res[1] != res[0] && !res[1].next()) break; key = loadKey(sm, store, fetch, res[0], joins[0]); val = loadValue(sm, store, fetch, res[1], joins[1]); map.put(key, val); } sm.storeObject(field.getIndex(), map); } finally { res[0].close(); if (res[1] != res[0]) res[1].close(); } }
public void map(boolean adapt) { super.map(adapt); ValueMapping key = field.getKeyMapping(); if (key.getHandler() == null) throw new MetaDataException(_loc.get("no-handler", key)); ValueMapping val = field.getElementMapping(); if (val.getHandler() == null) throw new MetaDataException(_loc.get("no-handler", val)); assertNotMappedBy(); field.mapJoin(adapt, true); _kio = new ColumnIO(); DBDictionary dict = field.getMappingRepository().getDBDictionary(); _kcols = HandlerStrategies.map(key, dict.getValidColumnName("key", field.getTable()), _kio, adapt); _vio = new ColumnIO(); _vcols = HandlerStrategies.map(val, "value", _vio, adapt); field.mapPrimaryKey(adapt); }
public void delete(OpenJPAStateManager sm, JDBCStore store, RowManager rm) throws SQLException { if (field.isUni1ToMFK()) { Map mapObj = (Map)sm.fetchObject(field.getIndex()); updateSetNull(sm, store, rm, mapObj.keySet()); return; } super.delete(sm, store, rm); }
public Object loadProjection(JDBCStore store, JDBCFetchConfiguration fetch, Result res, Joins joins) throws SQLException { return loadValue(null, store, fetch, res, joins); }
throws SQLException { ClassMapping meta = (ClassMapping)valsm.getMetaData(); FieldMapping fm = getFieldMapping(meta); if (fm == null) return false;
field.setColumns(mapped.getDefiningMapping(). getPrimaryKeyColumns()); } else if (isTypeUnjoinedSubclass(mapped)) throw new MetaDataException(_loc.get ("mapped-inverse-unjoined", field.getName(), field.setJoinForeignKey(fk); } else if (mapped.getElement().getTypeCode() == JavaTypes.PC) { if (isTypeUnjoinedSubclass(mapped.getElementMapping())) throw new MetaDataException(_loc.get ("mapped-inverse-unjoined", field.getName(),
public void load(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch) throws SQLException { if (field.isLRS()) { sm.storeObjectField(field.getIndex(), new LRSProxyMap(this)); return; } // select all and load into a normal proxy Joins[] joins = new Joins[2]; Result[] res = getResults(sm, store, fetch, JDBCFetchConfiguration.EAGER_PARALLEL, joins, false); try { Map map = (Map) sm.newProxy(field.getIndex()); Object key, val; while (res[0].next()) { if (res[1] != res[0] && !res[1].next()) break; key = loadKey(sm, store, fetch, res[0], joins[0]); val = loadValue(sm, store, fetch, res[1], joins[1]); map.put(key, val); } sm.storeObject(field.getIndex(), map); } finally { res[0].close(); if (res[1] != res[0]) res[1].close(); } }
public void map(boolean adapt) { super.map(adapt); ValueMapping key = field.getKeyMapping(); if (key.getHandler() == null) throw new MetaDataException(_loc.get("no-handler", key)); ValueMapping val = field.getElementMapping(); if (val.getHandler() == null) throw new MetaDataException(_loc.get("no-handler", val)); assertNotMappedBy(); field.mapJoin(adapt, true); _kio = new ColumnIO(); List columns = key.getValueInfo().getColumns(); DBDictionary dict = field.getMappingRepository().getDBDictionary(); DBIdentifier colName = dict.getValidColumnName(DBIdentifier.newColumn("key"), field.getTable()); _kcols = HandlerStrategies.map(key, colName.getName(), _kio, adapt); _vio = new ColumnIO(); _vcols = HandlerStrategies.map(val, "value", _vio, adapt); field.mapPrimaryKey(adapt); }
public void delete(OpenJPAStateManager sm, JDBCStore store, RowManager rm) throws SQLException { if (field.isUni1ToMFK()) { Map mapObj = (Map)sm.fetchObject(field.getIndex()); updateSetNull(sm, store, rm, mapObj.keySet()); return; } super.delete(sm, store, rm); }
public Object loadProjection(JDBCStore store, JDBCFetchConfiguration fetch, Result res, Joins joins) throws SQLException { return loadValue(null, store, fetch, res, joins); }
/** * Invokes {@link FieldStrategy#joinRelation} by default. */ public Joins joinValueRelation(Joins joins, ClassMapping val) { return joinRelation(joins, false, false); }