jeesite主子表一对多功能使用流程
1、数据库建立主表main_text和子表child_text,注意子表中要包含外键main_id
2、在框架内部的代码生成页面进行业务表配置,主表配置和基本表相同,子表配置时要填写好父表表名和外键
3、配置生成方案,填写基本信息后在业务表名处选择主表,点击保存并生成代码,此步骤结束后会在工程中生成web、dao、entity、service、.xml以及jsp文件。实体文件可看出,子类中有属性为父类对象,父类中有子类类型的list作为子表列表属性。
4、主子表共用一个service和controller,文件中可以看出save与delete方法都经过了重写,保存删除都是同时经历了两个表,这里看方法很容易理解。
5、这里有一个比较坑的地方在于,jeesite根据主子表生成的.xml文件并不完全对,childText.xml文件中的sql映射里面有一行
a.main_id AS "mainId"
这里很容易看出作为父类对象,这里映射id只能以父类对象属性作为映射,所以我们需要把该句改为
a.main_id AS "mainId.id"
以此类推,修改.xml文件中所有该处的问题
这样才能成功完成映射,这里看起来有点怪,因为生成代码里子类的父类对象属性被默认命名为mainId,为了避免出现理解问题,建议在代码生成后对此处命名进行优化。