public static void BindFk(PersistentClass referencedEntity, PersistentClass destinationEntity, Ejb3JoinColumn[] columns, SimpleValue value, bool unique, ExtendedMappings mappings) { throw new NotImplementedException(); }
public ToOneFkSecondPass(ToOne value, Ejb3JoinColumn[] columns, bool unique, string entityClassName, string path, ExtendedMappings mappings) : base(value, columns) { this.mappings = mappings; this.unique = unique; this.entityClassName = entityClassName; this.path = entityClassName != null ? path.Substring(entityClassName.Length + 1) : path; }
public FkSecondPass(ToOne value, Ejb3JoinColumn[] columns) { this.value = value; this.columns = columns; uniqueCounter = globalCounter.GetAndIncrement(); }
public static void CreateSyntheticPropertyReference(Ejb3JoinColumn[] columns, PersistentClass @ref, object o, ManyToOne one, bool b, ExtendedMappings mappings) { throw new System.NotImplementedException(); }
private void BindJoinToPersistentClass(Join join, Ejb3JoinColumn[] ejb3JoinColumns) { SimpleValue key = new DependantValue(join.Table, persistentClass.Identifier); join.Key = key; SetFKNameIfDefined(join); key.IsCascadeDeleteEnabled = false; TableBinder.BindFk(persistentClass, null, ejb3JoinColumns, key, false, mappings); join.CreatePrimaryKey(dialect); join.CreateForeignKey(); persistentClass.AddJoin(join); }
private void CreatePrimaryColumnsToSecondaryTable(object uncastedColumn, IPropertyHolder propertyHolder, Join join) { Ejb3JoinColumn[] ejb3JoinColumns; PrimaryKeyJoinColumnAttribute[] pkColumnsAnn = null; JoinColumnAttribute[] joinColumnsAnn = null; if (uncastedColumn is PrimaryKeyJoinColumnAttribute[]) { pkColumnsAnn = (PrimaryKeyJoinColumnAttribute[])uncastedColumn; } if (uncastedColumn is JoinColumnAttribute[]) { joinColumnsAnn = (JoinColumnAttribute[])uncastedColumn; } if (pkColumnsAnn == null && joinColumnsAnn == null) { ejb3JoinColumns = new Ejb3JoinColumn[1]; ejb3JoinColumns[0] = Ejb3JoinColumn.BuildJoinColumn( null, null, persistentClass.Identifier, secondaryTables, propertyHolder, mappings ); } else { int nbrOfJoinColumns = pkColumnsAnn != null ? pkColumnsAnn.Length : joinColumnsAnn.Length; if (nbrOfJoinColumns == 0) { ejb3JoinColumns = new Ejb3JoinColumn[1]; ejb3JoinColumns[0] = Ejb3JoinColumn.BuildJoinColumn( null, null, persistentClass.Identifier, secondaryTables, propertyHolder, mappings ); } else { ejb3JoinColumns = new Ejb3JoinColumn[nbrOfJoinColumns]; if (pkColumnsAnn != null) { for (int colIndex = 0; colIndex < nbrOfJoinColumns; colIndex++) { ejb3JoinColumns[colIndex] = Ejb3JoinColumn.BuildJoinColumn( pkColumnsAnn[colIndex], null, persistentClass.Identifier, secondaryTables, propertyHolder, mappings ); } } else { for (int colIndex = 0; colIndex < nbrOfJoinColumns; colIndex++) { ejb3JoinColumns[colIndex] = Ejb3JoinColumn.BuildJoinColumn( null, joinColumnsAnn[colIndex], persistentClass.Identifier, secondaryTables, propertyHolder, mappings ); } } } } foreach (Ejb3JoinColumn joinColumn in ejb3JoinColumns) { joinColumn.ForceNotNull(); } BindJoinToPersistentClass(join, ejb3JoinColumns); }