import {BaseEntity,Entity,Column,Id,JoinColumn,ManyToOne,OneToMany,EntityProxy, ManyToMany, JoinTable} from 'relaen'; import { AmGroup } from './amgroup'; @Entity("AM_MENU") export class AmMenu extends BaseEntity{ @Id() @Column({ name:'MENU_ID', type:'int', nullable:false }) public menuId:number; @ManyToOne({entity:'AmMenu'}) @JoinColumn({ name:'PARENT_ID', refName:'MENU_ID', nullable:true }) public amMenu:AmMenu; @Column({ name:'MENU_NAME', type:'string', nullable:false, length:128 }) public menuName:string; @Column({ name:'MENU_URL', type:'string', nullable:true, length:1024 }) public menuUrl:string; @ManyToMany({entity:'AmGroup'}) @JoinTable({ //中间表名 table:'AM_GROUP_MENU', //中间表字段名(本表在中间表的字段名,默认为主键) columnName:'MENU_ID', //关联字段名 refName:'GROUP_ID' }) public amGroups:Array; @OneToMany({ entity:'AmMenu', mappedBy:'amMenu' }) public amMenus:Array; constructor(idValue?:number){ super(); this.menuId = idValue; } public async getAmMenu():Promise{ return this['amMenu']?this['amMenu']:await EntityProxy.get(this,'amMenu'); } public async getAmGroups():Promise>{ return this['amGroups']?this['amGroups']:await EntityProxy.get(this,'amGroups'); } public async getAmMenus():Promise>{ return this['amMenus']?this['amMenus']:await EntityProxy.get(this,'amMenus'); } }