|
| OneToManyRelation (const OneToManyRelation &other)=default |
|
| OneToManyRelation (DataExecution::TypedObject< DataExecution::TypedObjectArray< T > > &dataMember, const QString &foreignKey) |
|
OneToManyRelation< T > * | clone () const override |
|
SqlBindingRelation * | deepCopy (const SqlBoundObjectGroupData *owner, DataExecution::DataObject &boundObject) override |
|
QStringList | getAllRelationNames () const override |
|
const DataExecution::DataObject & | getBoundObject () const override |
|
const SqlBoundObjectClassData & | getBoundObjectClassData () const override |
|
const DataExecution::DataFactory & | getBoundType () const override |
|
QString | getJoinStatement () const override |
|
SqlBindingRelationMap | getRelationBindings (const QStringList &relationNames, bool recursive) override |
|
QStringList | getSqlValidFieldList () const override |
|
bool | isBoundObjectArray () const override |
|
SqlDataModelResult | populateDataImpl (SqlDataModel &model, const QSqlRecord &record, QSqlQuery &query, const QStringList &relations=QStringList()) override |
|
SqlDataModelResult | saveBoundObject (SqlDataModel &model, const QStringList &relations) const override |
|
| SqlBindingRelation (const SqlBindingRelation &)=default |
|
SqlBindingRelation * | clone () const override=0 |
|
virtual SqlBindingRelation * | deepCopy (const SqlBoundObjectGroupData *owner, DataExecution::DataObject &boundObject)=0 |
|
virtual QStringList | getAllRelationNames () const =0 |
|
DataExecution::DataObject & | getBoundObject () |
|
virtual const DataExecution::DataObject & | getBoundObject () const =0 |
|
virtual const SqlBoundObjectClassData & | getBoundObjectClassData () const =0 |
|
virtual const DataExecution::DataFactory & | getBoundType () const =0 |
|
RelationCardinality | getCardinality () const |
|
const QString & | getForeignKey () const |
|
virtual QString | getJoinStatement () const =0 |
|
virtual SqlBindingRelationMap | getRelationBindings (const QStringList &relationNames, bool recursive)=0 |
|
virtual QStringList | getSqlValidFieldList () const =0 |
|
virtual bool | isBoundObjectArray () const =0 |
|
SqlBindingRelation & | operator= (const SqlBindingRelation &)=default |
|
SqlDataModelResult | populateData (SqlDataModel &model, const QSqlRecord &record, QSqlQuery &query, const QStringList &relations=QStringList()) |
|
virtual SqlDataModelResult | saveBoundObject (SqlDataModel &model, const QStringList &relations) const =0 |
|
virtual | ~Clonable ()=default |
|
virtual Clonable * | clone () const =0 |
|
| IsDerivedFrom () |
|
template<typename T>
class CSIRO::DataAnalysis::OneToManyRelation< T >
- Template Parameters
-
T | The specific type of bound object (derived from SqlBoundObjectGroup) that this relation refers to. Note that this relation type actually refers to an array of such types; TypedObjectArray<T>. |
A one-to-many relation is where a single object is associated with multiple objects of the same type, and each target object itself is only associated with a single object of this type.
Conceptually, the relationship looks like this:
Owner --(has many)--> T
Owner <--(has one)--- T
And from a database perspective it looks like:
Owner_Table <--(foreign key)--- T_Table