跟我一起学extjs5(34--单个模块的设计[2建立表单表及bean])
- CREATE TABLE [dbo].[_ModuleFormScheme](
- [tf_formSchemeId] [int] NOT NULL,
- [tf_moduleId] [nvarchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
- [tf_schemeOrder] [int] NOT NULL,
- [tf_schemeName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
- [tf_isSystemScheme] [bit] NULL,
- [tf_windowHeight] [int] NULL,
- [tf_windowWidth] [int] NULL,
- [tf_numCols] [int] NULL,
- [tf_displayMode] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
- [tf_otherSetting] [nvarchar](max) COLLATE Chinese_PRC_CI_AS NULL,
- CONSTRAINT [PK___ModuleFormSchem__30F848ED] PRIMARY KEY CLUSTERED
- (
- [tf_formSchemeId] ASC
- )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY],
- CONSTRAINT [_ModuleFormScheme_ix1] UNIQUE NONCLUSTERED
- (
- [tf_moduleId] ASC,
- [tf_schemeOrder] ASC
- )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
- ) ON [PRIMARY]
- GO
- ALTER TABLE [dbo].[_ModuleFormScheme] WITH CHECK ADD CONSTRAINT [_ModuleFormScheme_fk1] FOREIGN KEY([tf_moduleId])
- REFERENCES [dbo].[_Module] ([tf_moduleId])
- ON UPDATE CASCADE
- ON DELETE CASCADE
- package com.jfok.server.hibernate.system;
- import java.io.Serializable;
- import java.util.List;
- import javax.persistence.CascadeType;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.FetchType;
- import javax.persistence.GeneratedValue;
- import javax.persistence.Id;
- import javax.persistence.JoinColumn;
- import javax.persistence.ManyToOne;
- import javax.persistence.OneToMany;
- import javax.persistence.OrderBy;
- import org.codehaus.jackson.annotate.JsonIgnore;
- import org.hibernate.annotations.GenericGenerator;
- import com.jfok.server.common.annotation.FieldDefine;
- import com.jfok.server.common.annotation.TableDefine;
- @SuppressWarnings("serial")
- @Entity
- @org.hibernate.annotations.Entity(dynamicUpdate = true)
- @TableDefine(group = "系统模块", id = 9907, title = "模块Form方案", shortname = "Form方案")
- public class _ModuleFormScheme implements _IModuleControlInterface, Serializable {
- @Id
- @GeneratedValue(generator = "increment")
- @GenericGenerator(name = "increment", strategy = "increment")
- @FieldDefine(title = "ID号", number = 10)
- private Integer tf_formSchemeId;
- @JsonIgnore
- @ManyToOne(cascade = CascadeType.REFRESH, fetch = FetchType.EAGER)
- @JoinColumn(name = "tf_moduleId", nullable = false)
- @FieldDefine(title = "模块", number = 20)
- private _Module tf_Module;
- @FieldDefine(title = "顺序号", number = 30)
- @Column(nullable = false)
- private Integer tf_schemeOrder;
- @FieldDefine(title = "方案名称", nameField = true, number = 40)
- @Column(nullable = false, length = 50)
- private String tf_schemeName;
- @FieldDefine(title = "系统方案", number = 50)
- private Boolean tf_isSystemScheme;
- @FieldDefine(title = "窗口高", number = 60)
- private Integer tf_windowHeight;
- @FieldDefine(title = "窗口宽", number = 70)
- private Integer tf_windowWidth;
- @FieldDefine(title = "分栏数", number = 80)
- private Integer tf_numCols;
- @FieldDefine(title = "Form类型", number = 90)
- private String tf_displayMode;
- @FieldDefine(title = "附加设置", number = 100)
- private String tf_otherSetting;
- @OneToMany(targetEntity = _ModuleFormSchemeGroup.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
- @JoinColumn(name = "tf_formSchemeId")
- @OrderBy("tf_formGroupOrder")
- private List<_ModuleFormSchemeGroup> moduleFormSchemeGroups;
- public _ModuleFormScheme() {
- }
- //getter and setter
- }
- CREATE TABLE [dbo].[_ModuleFormSchemeGroup](
- [tf_formGroupId] [int] NOT NULL,
- [tf_formSchemeId] [int] NOT NULL,
- [tf_formGroupOrder] [int] NOT NULL,
- [tf_formGroupName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
- [tf_displayMode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
- [tf_collapsible] [bit] NULL,
- [tf_collapsed] [bit] NULL,
- [tf_numCols] [int] NULL,
- [tf_auditingGroup] [bit] NULL,
- [tf_approveGroup] [bit] NULL,
- [tf_subModuleName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
- [tf_otherSetting] [nvarchar](max) COLLATE Chinese_PRC_CI_AS NULL,
- CONSTRAINT [PK___ModuleFormSchem__5070F446] PRIMARY KEY CLUSTERED
- (
- [tf_formGroupId] ASC
- )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
- ) ON [PRIMARY]
- GO
- ALTER TABLE [dbo].[_ModuleFormSchemeGroup] WITH CHECK ADD CONSTRAINT [_ModuleFormSchemeGroup_fk1] FOREIGN KEY([tf_formSchemeId])
- REFERENCES [dbo].[_ModuleFormScheme] ([tf_formSchemeId])
- ON DELETE CASCADE
- package com.jfok.server.hibernate.system;
- import java.io.Serializable;
- import java.util.List;
- import javax.persistence.CascadeType;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.FetchType;
- import javax.persistence.GeneratedValue;
- import javax.persistence.Id;
- import javax.persistence.JoinColumn;
- import javax.persistence.ManyToOne;
- import javax.persistence.OneToMany;
- import javax.persistence.OrderBy;
- import org.codehaus.jackson.annotate.JsonIgnore;
- import org.hibernate.annotations.GenericGenerator;
- import com.jfok.server.common.annotation.FieldDefine;
- import com.jfok.server.common.annotation.TableDefine;
- @SuppressWarnings("serial")
- @Entity
- @org.hibernate.annotations.Entity(dynamicUpdate = true)
- @TableDefine(group = "系统模块", id = 9908, title = "模块Form字段分组", shortname = "Form字段分组")
- public class _ModuleFormSchemeGroup implements _IModuleControlInterface, Serializable {
- public static final String FORMGROUPID = "tf_formGroupId";
- @Id
- @GeneratedValue(generator = "increment")
- @GenericGenerator(name = "increment", strategy = "increment")
- @FieldDefine(title = "ID号", number = 10)
- private Integer tf_formGroupId;
- @JsonIgnore
- @ManyToOne(cascade = CascadeType.REFRESH, fetch = FetchType.EAGER)
- @JoinColumn(name = "tf_formSchemeId", nullable = false)
- @FieldDefine(title = "模块Form方案", number = 20)
- private _ModuleFormScheme tf_ModuleFormScheme;
- @FieldDefine(title = "顺序号", number = 30)
- @Column(nullable = false)
- private Integer tf_formGroupOrder;
- @FieldDefine(title = "分组名称", nameField = true, number = 40)
- @Column(nullable = false, length = 50)
- private String tf_formGroupName;
- @FieldDefine(title = "显示方式", number = 50)
- @Column(length = 50)
- private String tf_displayMode;
- @FieldDefine(title = "分栏数", number = 60)
- private Integer tf_numCols;
- @FieldDefine(title = "审核组", number = 70)
- private Boolean tf_auditingGroup;
- @FieldDefine(title = "审批组", number = 80)
- private Boolean tf_approveGroup;
- @FieldDefine(title = "可折叠", number = 90)
- private Boolean tf_collapsible;
- @FieldDefine(title = "默认折叠", number = 100)
- private Boolean tf_collapsed;
- @FieldDefine(title = "子模块名称", remark = "设置此项,则在此组中显示该子模块", number = 110)
- @Column(length = 50)
- private String tf_subModuleName;
- @FieldDefine(title = "其他设置", number = 120)
- private String tf_otherSetting;
- @OneToMany(targetEntity = _ModuleFormSchemeGroupField.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
- @JoinColumn(name = "tf_formGroupId")
- @OrderBy("tf_formFieldOrder")
- private List<_ModuleFormSchemeGroupField> moduleFormSchemeGroupFields;
- public _ModuleFormSchemeGroup() {
- }
- //getter and setter
- }
表单字段定义和bean:
- CREATE TABLE [dbo].[_ModuleFormSchemeGroupField](
- [tf_formFieldId] [int] NOT NULL,
- [tf_formGroupId] [int] NOT NULL,
- [tf_formFieldOrder] [int] NOT NULL,
- [tf_fieldId] [int] NOT NULL,
- [tf_width] [int] NULL,
- [tf_height] [int] NULL,
- [tf_colspan] [int] NULL,
- [tf_isAllowApprove] [bit] NULL,
- [tf_isStartRow] [bit] NULL,
- [tf_isEndrow] [bit] NULL,
- [tf_otherSetting] [nvarchar](max) COLLATE Chinese_PRC_CI_AS NULL,
- CONSTRAINT [PK___ModuleFormSchem__6FE99F9F] PRIMARY KEY CLUSTERED
- (
- [tf_formFieldId] ASC
- )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY],
- CONSTRAINT [_ModuleFormSchemeGroupField_ix1] UNIQUE NONCLUSTERED
- (
- [tf_formGroupId] ASC,
- [tf_fieldId] ASC
- )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
- ) ON [PRIMARY]
- GO
- ALTER TABLE [dbo].[_ModuleFormSchemeGroupField] WITH CHECK ADD CONSTRAINT [_ModuleFormSchemeGroupField_fk1] FOREIGN KEY([tf_formGroupId])
- REFERENCES [dbo].[_ModuleFormSchemeGroup] ([tf_formGroupId])
- ON UPDATE CASCADE
- ON DELETE CASCADE
- GO
- ALTER TABLE [dbo].[_ModuleFormSchemeGroupField] WITH CHECK ADD CONSTRAINT [_ModuleFormSchemeGroupField_fk2] FOREIGN KEY([tf_fieldId])
- REFERENCES [dbo].[_ModuleField] ([tf_fieldId])
- ON UPDATE CASCADE
- ON DELETE CASCADE
- package com.jfok.server.hibernate.system;
- import java.io.Serializable;
- import javax.persistence.CascadeType;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.FetchType;
- import javax.persistence.GeneratedValue;
- import javax.persistence.Id;
- import javax.persistence.JoinColumn;
- import javax.persistence.ManyToOne;
- import org.codehaus.jackson.annotate.JsonIgnore;
- import org.hibernate.annotations.GenericGenerator;
- import com.jfok.server.common.annotation.FieldDefine;
- import com.jfok.server.common.annotation.TableDefine;
- @SuppressWarnings("serial")
- @Entity
- @org.hibernate.annotations.Entity(dynamicUpdate = true)
- @TableDefine(group = "系统模块", id = 9909, title = "模块Form字段", shortname = "Form字段")
- public class _ModuleFormSchemeGroupField implements _IModuleControlInterface, Serializable {
- @Id
- @GeneratedValue(generator = "increment")
- @GenericGenerator(name = "increment", strategy = "increment")
- @FieldDefine(title = "ID号", hidden = true, number = 10)
- private Integer tf_formFieldId;
- @JsonIgnore
- @ManyToOne(cascade = CascadeType.REFRESH, fetch = FetchType.LAZY)
- @JoinColumn(name = "tf_formGroupId", nullable = false)
- @FieldDefine(title = "模块Form字段分组", number = 20)
- private _ModuleFormSchemeGroup tf_ModuleFormSchemeGroup;
- @FieldDefine(title = "顺序号", number = 30)
- @Column(nullable = false)
- private Integer tf_formFieldOrder;
- @JsonIgnore
- @ManyToOne(cascade = CascadeType.REFRESH, fetch = FetchType.EAGER)
- @JoinColumn(name = "tf_fieldId", nullable = false)
- @FieldDefine(title = "模块字段", nameField = true, number = 40)
- private _ModuleField tf_ModuleField;
- // 这个字段用于将数据转成json传到前台时候,加入moduleField的id
- @Column(insertable = false, updatable = false)
- private Integer tf_fieldId;
- @FieldDefine(title = "宽度", number = 50)
- private Integer tf_width;
- @FieldDefine(title = "栏数", number = 60)
- private Integer tf_colspan;
- @FieldDefine(title = "结束行", number = 70)
- private Boolean tf_isEndRow;
- @FieldDefine(title = "附加设置", number = 80)
- private String tf_otherSetting;
- public _ModuleFormSchemeGroupField() {
- }
- //getter and setter
- }
这样把字段,列表,表单的表和bean都加入好了,然后需要在_Module.java中加入下列语句:
- @OneToMany(targetEntity = _MenuModule.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
- @JoinColumn(name = "tf_moduleId")
- @OrderBy("tf_fieldOrder")
- private List<_ModuleField> moduleFields;
- @OneToMany(targetEntity = _ModuleFormScheme.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
- @JoinColumn(name = "tf_moduleId")
- @OrderBy("tf_schemeOrder")
- private List<_ModuleFormScheme> moduleFormSchemes;
- @OneToMany(targetEntity = _ModuleGridScheme.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
- @JoinColumn(name = "tf_moduleId")
- @OrderBy("tf_schemeOrder")
- private List<_ModuleGridScheme> moduleGridSchemes;
- //getter and setter
把这三个模块的数据都加到“模块”的bean中,在将模块数据传递到前台的时候一起将字段,列表,表单的信息都传至前台。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。