public boolean hasClassConditions(ClassMapping base, boolean subclasses) { // if selecting the first mapped class and all subclasses, no need // to limit the query if (isFinal || (base.getJoinablePCSuperclassMapping() == null && subclasses)) return false; // if no subclasses or superclass, no need for conditions ClassMapping[] subs = base.getJoinablePCSubclassMappings(); if (subs.length == 0 && base.getJoinablePCSuperclassMapping() == null) return false; return true; }
/** * Return whether we can reach the given subclass via joins. */ private boolean isSubJoinable(ClassMapping sub) { if (sub == null) return false; if (sub == this) return true; return isSubJoinable(sub.getJoinablePCSuperclassMapping()); }
/** * Return the base table for the given instance. */ private static Table getBaseTable(OpenJPAStateManager sm) { ClassMapping cls = (ClassMapping) sm.getMetaData(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); return cls.getTable(); }
/** * Return the base table for the given instance. */ private static Table getBaseTable(OpenJPAStateManager sm) { ClassMapping cls = (ClassMapping) sm.getMetaData(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); return cls.getTable(); }
/** * Return whether we can reach the given subclass via joins. */ private boolean isSubJoinable(ClassMapping sub) { if (sub == null) return false; if (sub == this) return true; return isSubJoinable(sub.getJoinablePCSuperclassMapping()); }
/** * Return the base table for the given instance. */ private static Table getBaseTable(OpenJPAStateManager sm) { ClassMapping cls = (ClassMapping) sm.getMetaData(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); return cls.getTable(); }
/** * Return whether our defining mapping is an unjoined subclass of * the type of the given value. */ private boolean isTypeUnjoinedSubclass(ValueMapping mapped) { ClassMapping def = field.getDefiningMapping(); for (; def != null; def = def.getJoinablePCSuperclassMapping()) if (def == mapped.getTypeMapping()) return false; return true; }
protected List<SQLBuffer> getLockRows(DBDictionary dict, Object id, ClassMapping mapping, JDBCFetchConfiguration fetch, SQLFactory factory) { while (mapping.getJoinablePCSuperclassMapping() != null) mapping = mapping.getJoinablePCSuperclassMapping(); // select only the PK columns, since we just want to lock Select select = factory.newSelect(); select.select(mapping.getPrimaryKeyColumns()); select.wherePrimaryKey(id, mapping, _store); List<SQLBuffer> sqls = new ArrayList<SQLBuffer>(); sqls.add(select.toSelect(true, fetch)); return sqls; }
/** * Return whether our defining mapping is an unjoined subclass of * the type of the given value. */ private boolean isTypeUnjoinedSubclass(ValueMapping mapped) { ClassMapping def = field.getDefiningMapping(); for (; def != null; def = def.getJoinablePCSuperclassMapping()) if (def == mapped.getTypeMapping()) return false; return true; }
protected List<SQLBuffer> getLockRows(DBDictionary dict, Object id, ClassMapping mapping, JDBCFetchConfiguration fetch, SQLFactory factory) { while (mapping.getJoinablePCSuperclassMapping() != null) mapping = mapping.getJoinablePCSuperclassMapping(); // select only the PK columns, since we just want to lock Select select = factory.newSelect(); select.select(mapping.getPrimaryKeyColumns()); select.wherePrimaryKey(id, mapping, _store); List<SQLBuffer> sqls = new ArrayList<SQLBuffer>(); sqls.add(select.toSelect(true, fetch)); return sqls; }
public Object getStrategy(Version vers, boolean adapt) { ClassMapping cls = vers.getClassMapping(); if ((adapt || defaultMissingInfo()) && cls.getJoinablePCSuperclassMapping() == null && cls.getVersionField() == null) return _versionStrategy; return null; }
public Object getStrategy(Discriminator disc, boolean adapt) { ClassMapping cls = disc.getClassMapping(); if ((adapt || defaultMissingInfo()) && cls.getJoinablePCSuperclassMapping() == null && disc.getMappingInfo().getValue() == null) return _discStrategy; return null; }
public Object getStrategy(Discriminator disc, boolean adapt) { ClassMapping cls = disc.getClassMapping(); if ((adapt || defaultMissingInfo()) && cls.getJoinablePCSuperclassMapping() == null && disc.getMappingInfo().getValue() == null) return _discStrategy; return null; }
public Object getStrategy(Discriminator disc, boolean adapt) { ClassMapping cls = disc.getClassMapping(); if ((adapt || defaultMissingInfo()) && cls.getJoinablePCSuperclassMapping() == null && disc.getMappingInfo().getValue() == null) return _discStrategy; return null; }
public int orderByPrimaryKey(ClassMapping mapping, boolean asc, Joins joins, boolean select) { ClassMapping pks = mapping; while (!pks.isPrimaryKeyObjectId(true)) pks = pks.getJoinablePCSuperclassMapping(); Column[] cols = pks.getPrimaryKeyColumns(); recordOrderColumns(cols, asc); return sel.orderByPrimaryKey(mapping, asc, joins, select, isUnion()); }
public int orderByPrimaryKey(ClassMapping mapping, boolean asc, Joins joins, boolean select) { ClassMapping pks = mapping; while (!pks.isPrimaryKeyObjectId(true)) pks = pks.getJoinablePCSuperclassMapping(); Column[] cols = pks.getPrimaryKeyColumns(); recordOrderColumns(cols, asc); return sel.orderByPrimaryKey(mapping, asc, joins, select, isUnion()); }
public void map(boolean adapt) { ClassMapping cls = vers.getClassMapping(); if (cls.getJoinablePCSuperclassMapping() != null || cls.getEmbeddingMetaData() != null) throw new MetaDataException(_loc.get("not-base-vers", cls)); vers.getMappingInfo().assertNoSchemaComponents(vers, true); }
public void map(boolean adapt) { ClassMapping cls = vers.getClassMapping(); if (cls.getJoinablePCSuperclassMapping() != null || cls.getEmbeddingMetaData() != null) throw new MetaDataException(_loc.get("not-base-vers", cls)); vers.getMappingInfo().assertNoSchemaComponents(vers, true); }
public void map(boolean adapt) { ClassMapping cls = disc.getClassMapping(); if (cls.getJoinablePCSuperclassMapping() != null || cls.getEmbeddingMetaData() != null) throw new MetaDataException(_loc.get("not-base-disc", cls)); DiscriminatorMappingInfo info = disc.getMappingInfo(); info.assertNoSchemaComponents(disc, true); // make sure outer joins are supported DBDictionary dict = cls.getMappingRepository().getDBDictionary(); if (dict.joinSyntax == JoinSyntaxes.SYNTAX_TRADITIONAL) throw new MetaDataException(_loc.get("outer-join-support", cls)); }
public void map(boolean adapt) { ClassMapping cls = disc.getClassMapping(); if (cls.getJoinablePCSuperclassMapping() != null || cls.getEmbeddingMetaData() != null) throw new MetaDataException(_loc.get("not-base-disc", cls)); DiscriminatorMappingInfo info = disc.getMappingInfo(); info.assertNoSchemaComponents(disc, true); // make sure outer joins are supported DBDictionary dict = cls.getMappingRepository().getDBDictionary(); if (dict.joinSyntax == JoinSyntaxes.SYNTAX_TRADITIONAL) throw new MetaDataException(_loc.get("outer-join-support", cls)); }