protected void setObjectId(List vals, Column[] autoAssign, DBIdentifier[] autoAssignColNames, RowImpl row) throws SQLException{ OpenJPAStateManager sm = row.getPrimaryKey(); ClassMapping mapping = (ClassMapping) sm.getMetaData(); Object val = null; for (int i = 0; i < autoAssign.length; i++) { if (_dict.supportsGetGeneratedKeys && vals != null && vals.size() > 0) val = vals.get(i); else val = _dict.getGeneratedKey(autoAssign[i], _conn); mapping.assertJoinable(autoAssign[i]).setAutoAssignedValue(sm, _store, autoAssign[i], val); } sm.setObjectId( ApplicationIds.create(sm.getPersistenceCapable(), mapping)); }
protected void setObjectId(List vals, Column[] autoAssign, DBIdentifier[] autoAssignColNames, RowImpl row) throws SQLException{ OpenJPAStateManager sm = row.getPrimaryKey(); ClassMapping mapping = (ClassMapping) sm.getMetaData(); Object val = null; for (int i = 0; i < autoAssign.length; i++) { if (_dict.supportsGetGeneratedKeys && vals != null && vals.size() > 0) val = vals.get(i); else val = _dict.getGeneratedKey(autoAssign[i], _conn); mapping.assertJoinable(autoAssign[i]).setAutoAssignedValue(sm, _store, autoAssign[i], val); } sm.setObjectId( ApplicationIds.create(sm.getPersistenceCapable(), mapping)); }
protected void setObjectId(List vals, Column[] autoAssign, DBIdentifier[] autoAssignColNames, RowImpl row) throws SQLException{ OpenJPAStateManager sm = row.getPrimaryKey(); ClassMapping mapping = (ClassMapping) sm.getMetaData(); Object val = null; for (int i = 0; i < autoAssign.length; i++) { if (_dict.supportsGetGeneratedKeys && vals != null && vals.size() > 0) val = vals.get(i); else val = _dict.getGeneratedKey(autoAssign[i], _conn); mapping.assertJoinable(autoAssign[i]).setAutoAssignedValue(sm, _store, autoAssign[i], val); } sm.setObjectId( ApplicationIds.create(sm.getPersistenceCapable(), mapping)); }
protected void setObjectId(List vals, Column[] autoAssign, DBIdentifier[] autoAssignColNames, RowImpl row) throws SQLException{ OpenJPAStateManager sm = row.getPrimaryKey(); ClassMapping mapping = (ClassMapping) sm.getMetaData(); Object val = null; for (int i = 0; i < autoAssign.length; i++) { if (_dict.supportsGetGeneratedKeys && vals != null && vals.size() > 0) val = vals.get(i); else val = _dict.getGeneratedKey(autoAssign[i], _conn); mapping.assertJoinable(autoAssign[i]).setAutoAssignedValue(sm, _store, autoAssign[i], val); } sm.setObjectId( ApplicationIds.create(sm.getPersistenceCapable(), mapping)); }
private FinderQueryImpl(ClassMapping mapping, SelectImpl select, SQLBuffer buffer) { super(); _mapping = mapping; _select = select; _buffer = buffer; _sql = _buffer.getSQL(); _pkCols = _mapping.getPrimaryKeyColumns(); _joins = new Joinable[_pkCols.length]; for (int i = 0; i < _pkCols.length; i++) _joins[i] = _mapping.assertJoinable(_pkCols[i]); _pkIndices = new int[_pkCols.length]; for (int i = 0; i < _pkCols.length; i++) { FieldMetaData pk = _mapping.getField(_joins[i].getFieldIndex()); _pkIndices[i] = pk == null ? 0 : pk.getPrimaryKeyIndex(); } }
private FinderQueryImpl(ClassMapping mapping, SelectImpl select, SQLBuffer buffer) { super(); _mapping = mapping; _select = select; _buffer = buffer; _sql = _buffer.getSQL(); _pkCols = _mapping.getPrimaryKeyColumns(); _joins = new Joinable[_pkCols.length]; for (int i = 0; i < _pkCols.length; i++) _joins[i] = _mapping.assertJoinable(_pkCols[i]); _pkIndices = new int[_pkCols.length]; for (int i = 0; i < _pkCols.length; i++) { FieldMetaData pk = _mapping.getField(_joins[i].getFieldIndex()); _pkIndices[i] = pk == null ? 0 : pk.getPrimaryKeyIndex(); } }
private FinderQueryImpl(ClassMapping mapping, SelectImpl select, SQLBuffer buffer) { super(); _mapping = mapping; _select = select; _buffer = buffer; _sql = _buffer.getSQL(); _pkCols = _mapping.getPrimaryKeyColumns(); _joins = new Joinable[_pkCols.length]; for (int i = 0; i < _pkCols.length; i++) _joins[i] = _mapping.assertJoinable(_pkCols[i]); _pkIndices = new int[_pkCols.length]; for (int i = 0; i < _pkCols.length; i++) { FieldMetaData pk = _mapping.getField(_joins[i].getFieldIndex()); _pkIndices[i] = pk == null ? 0 : pk.getPrimaryKeyIndex(); } }
private FinderQueryImpl(ClassMapping mapping, SelectImpl select, SQLBuffer buffer) { super(); _mapping = mapping; _select = select; _buffer = buffer; _sql = _buffer.getSQL(); _pkCols = _mapping.getPrimaryKeyColumns(); _joins = new Joinable[_pkCols.length]; for (int i = 0; i < _pkCols.length; i++) _joins[i] = _mapping.assertJoinable(_pkCols[i]); _pkIndices = new int[_pkCols.length]; for (int i = 0; i < _pkCols.length; i++) { FieldMetaData pk = _mapping.getField(_joins[i].getFieldIndex()); _pkIndices[i] = pk == null ? 0 : pk.getPrimaryKeyIndex(); } }
val = assertJoinable(cols[i]).getJoinValue(sm, cols[i], store); if (cols.length == 1) ret = val;
public Object getJoinValue(Object fieldVal, Column col, JDBCStore store) { Object o = field.getForeignKey().getConstant(col); if (o != null) return o; col = field.getForeignKey().getPrimaryKeyColumn(col); if (col == null) throw new InternalException(); ClassMapping relmapping = field.getTypeMapping(); Joinable j = field.getTypeMapping().assertJoinable(col); if (ImplHelper.isManageable(fieldVal)) fieldVal = store.getContext().getObjectId(fieldVal); if (fieldVal instanceof OpenJPAId) fieldVal = ((OpenJPAId) fieldVal).getIdObject(); else if (relmapping.getObjectIdType() != null && relmapping.getObjectIdType().isInstance(fieldVal)) { Object[] pks = ApplicationIds.toPKValues(fieldVal, relmapping); fieldVal = pks[relmapping.getField(j.getFieldIndex()). getPrimaryKeyIndex()]; } return j.getJoinValue(fieldVal, col, store); }
/** * Flush the given row. */ protected void flushInternal(RowImpl row) throws SQLException { // can't batch rows with auto-inc columns Column[] autoAssign = null; if (row.getAction() == Row.ACTION_INSERT) autoAssign = row.getTable().getAutoAssignedColumns(); flushAndUpdate(row); // set auto assign values if (autoAssign != null && autoAssign.length > 0 && row.getPrimaryKey() != null) { OpenJPAStateManager sm = row.getPrimaryKey(); ClassMapping mapping = (ClassMapping) sm.getMetaData(); Object val; for (int i = 0; i < autoAssign.length; i++) { val = _dict.getGeneratedKey(autoAssign[i], _conn); mapping.assertJoinable(autoAssign[i]).setAutoAssignedValue(sm, _store, autoAssign[i], val); } sm.setObjectId( ApplicationIds.create(sm.getPersistenceCapable(), mapping)); } }
join = assertJoinable(cols[i]); if (join.getFieldIndex() != -1 && getField(join.getFieldIndex()).getPrimaryKeyIndex() == -1)
join = assertJoinable(cols[i]); if (join.getFieldIndex() != -1 && getField(join.getFieldIndex()).getPrimaryKeyIndex() == -1)
Joinable join; for (int i = 0; i < cols.length; i++) { join = mapping.assertJoinable(cols[i]); vals[i] = pks[mapping.getField(join.getFieldIndex()). getPrimaryKeyIndex()];
Joinable join; for (int i = 0; i < cols.length; i++) { join = mapping.assertJoinable(cols[i]); vals[i] = pks[mapping.getField(join.getFieldIndex()). getPrimaryKeyIndex()];
Joinable join; for (int i = 0; i < cols.length; i++) { join = mapping.assertJoinable(cols[i]); vals[i] = pks[mapping.getField(join.getFieldIndex()). getPrimaryKeyIndex()];
public Object getJoinValue(Object fieldVal, Column col, JDBCStore store) { Object o = field.getForeignKey().getConstant(col); if (o != null) return o; col = field.getForeignKey().getPrimaryKeyColumn(col); if (col == null) throw new InternalException(); Object savedFieldVal = fieldVal; ClassMapping relmapping = field.getTypeMapping(); Joinable j = field.getTypeMapping().assertJoinable(col); if (ImplHelper.isManageable(fieldVal) && !field.getDefiningMetaData().useIdClassFromParent()) fieldVal = store.getContext().getObjectId(fieldVal); if (fieldVal instanceof OpenJPAId) fieldVal = ((OpenJPAId) fieldVal).getIdObject(); if (relmapping.getObjectIdType() != null && relmapping.getObjectIdType().isInstance(fieldVal)) { Object[] pks = ApplicationIds.toPKValues(fieldVal, relmapping); fieldVal = pks[relmapping.getField(j.getFieldIndex()). getPrimaryKeyIndex()]; } else if (relmapping.getObjectIdType() == ObjectId.class && relmapping.getPrimaryKeyFieldMappings()[0].getValueMapping().isEmbedded()) { if (fieldVal == null) return j.getJoinValue(savedFieldVal, col, store); return j.getJoinValue(fieldVal, col, store); } return j.getJoinValue(fieldVal, col, store); }
public Object getJoinValue(Object fieldVal, Column col, JDBCStore store) { Object o = field.getForeignKey().getConstant(col); if (o != null) return o; col = field.getForeignKey().getPrimaryKeyColumn(col); if (col == null) throw new InternalException(); Object savedFieldVal = fieldVal; ClassMapping relmapping = field.getTypeMapping(); Joinable j = field.getTypeMapping().assertJoinable(col); if (ImplHelper.isManageable(fieldVal) && !field.getDefiningMetaData().useIdClassFromParent()) fieldVal = store.getContext().getObjectId(fieldVal); if (fieldVal instanceof OpenJPAId) fieldVal = ((OpenJPAId) fieldVal).getIdObject(); if (relmapping.getObjectIdType() != null && relmapping.getObjectIdType().isInstance(fieldVal)) { Object[] pks = ApplicationIds.toPKValues(fieldVal, relmapping); fieldVal = pks[relmapping.getField(j.getFieldIndex()). getPrimaryKeyIndex()]; } else if (relmapping.getObjectIdType() == ObjectId.class && relmapping.getPrimaryKeyFieldMappings()[0].getValueMapping().isEmbedded()) { if (fieldVal == null) return j.getJoinValue(savedFieldVal, col, store); return j.getJoinValue(fieldVal, col, store); } return j.getJoinValue(fieldVal, col, store); }
public Object getJoinValue(Object fieldVal, Column col, JDBCStore store) { Object o = field.getForeignKey().getConstant(col); if (o != null) return o; col = field.getForeignKey().getPrimaryKeyColumn(col); if (col == null) throw new InternalException(); Object savedFieldVal = fieldVal; ClassMapping relmapping = field.getTypeMapping(); Joinable j = field.getTypeMapping().assertJoinable(col); if (ImplHelper.isManageable(fieldVal) && !field.getDefiningMetaData().useIdClassFromParent()) fieldVal = store.getContext().getObjectId(fieldVal); if (fieldVal instanceof OpenJPAId) fieldVal = ((OpenJPAId) fieldVal).getIdObject(); if (relmapping.getObjectIdType() != null && relmapping.getObjectIdType().isInstance(fieldVal)) { Object[] pks = ApplicationIds.toPKValues(fieldVal, relmapping); fieldVal = pks[relmapping.getField(j.getFieldIndex()). getPrimaryKeyIndex()]; } else if (relmapping.getObjectIdType() == ObjectId.class && relmapping.getPrimaryKeyFieldMappings()[0].getValueMapping().isEmbedded()) { if (fieldVal == null) return j.getJoinValue(savedFieldVal, col, store); return j.getJoinValue(fieldVal, col, store); } return j.getJoinValue(fieldVal, col, store); }
public Object getJoinValue(Object fieldVal, Column col, JDBCStore store) { Object o = field.getForeignKey().getConstant(col); if (o != null) return o; col = field.getForeignKey().getPrimaryKeyColumn(col); if (col == null) throw new InternalException(); Object savedFieldVal = fieldVal; ClassMapping relmapping = field.getTypeMapping(); Joinable j = field.getTypeMapping().assertJoinable(col); if (ImplHelper.isManageable(fieldVal) && !field.getDefiningMetaData().useIdClassFromParent()) fieldVal = store.getContext().getObjectId(fieldVal); if (fieldVal instanceof OpenJPAId) fieldVal = ((OpenJPAId) fieldVal).getIdObject(); if (relmapping.getObjectIdType() != null && relmapping.getObjectIdType().isInstance(fieldVal)) { Object[] pks = ApplicationIds.toPKValues(fieldVal, relmapping); fieldVal = pks[relmapping.getField(j.getFieldIndex()). getPrimaryKeyIndex()]; } else if (relmapping.getObjectIdType() == ObjectId.class && relmapping.getPrimaryKeyFieldMappings()[0].getValueMapping().isEmbedded()) { if (fieldVal == null) return j.getJoinValue(savedFieldVal, col, store); return j.getJoinValue(fieldVal, col, store); } return j.getJoinValue(fieldVal, col, store); }