whole_func_string: function Transient() {
      return function (targetObject, propertyKey) {
          var entityMetadata = targetObject;
          if (!entityMetadata.transient) {
              entityMetadata.transient = {};
          }
          entityMetadata.transient[propertyKey] = true;
      };
  }
func_code_string: function Transient() {
      return function (targetObject, propertyKey) {
          var entityMetadata = targetObject;
          if (!entityMetadata.transient) {
              entityMetadata.transient = {};
          }
          entityMetadata.transient[propertyKey] = true;
      };
  }
func_documentation_string: 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