export interface JoinColumnsConfiguration {
name: string;
referencedColumnName: string;
nullable: boolean;
}
export function JoinColumns( joinColumnConfigurations: JoinColumnsConfiguration[] ) {
return function (
targetObject: any,
propertyKey: string
) {
let entityMetadata: EntityMetadata = <EntityMetadata>targetObject;
if(!entityMetadata.joinColumnMap) {
entityMetadata.joinColumnMap = {};
}
entityMetadata.joinColumnMap[propertyKey] = joinColumnConfigurations;
}
}
 
Annotates columns.

@param generatedValueConfiguration
@returns {function(Function)}
@constructor
function Transient() {
    return function (targetObject, propertyKey) {
        var entityMetadata = targetObject;
        if (!entityMetadata.transient) {
            entityMetadata.transient = {};
        }
        entityMetadata.transient[propertyKey] = true;
    };
}