schangxiang@126.com
2025-09-19 0821aa23eabe557c0d9ef5dbe6989c68be35d1fe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import { ColumnMetadata } from "../metadata/ColumnMetadata";
import { Connection } from "../connection/Connection";
import { EntityMetadata } from "../metadata/EntityMetadata";
import { JoinTableMetadataArgs } from "../metadata-args/JoinTableMetadataArgs";
import { RelationMetadata } from "../metadata/RelationMetadata";
/**
 * Creates EntityMetadata for junction tables.
 * Junction tables are tables generated by many-to-many relations.
 */
export declare class JunctionEntityMetadataBuilder {
    private connection;
    constructor(connection: Connection);
    /**
     * Builds EntityMetadata for the junction of the given many-to-many relation.
     */
    build(relation: RelationMetadata, joinTable: JoinTableMetadataArgs): EntityMetadata;
    /**
     * Collects referenced columns from the given join column args.
     */
    protected collectReferencedColumns(relation: RelationMetadata, joinTable: JoinTableMetadataArgs): ColumnMetadata[];
    /**
     * Collects inverse referenced columns from the given join column args.
     */
    protected collectInverseReferencedColumns(relation: RelationMetadata, joinTable: JoinTableMetadataArgs): ColumnMetadata[];
    protected changeDuplicatedColumnNames(junctionColumns: ColumnMetadata[], inverseJunctionColumns: ColumnMetadata[]): void;
}