首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
使用jfinal new user.set().save();方法时 如果没有id会报错 怎样说设置自动生成id呢?uuid
王子鹏
2019-02-13 16:57
想使用save方法 但不用每次都给id吧 有没有什么注解 譬如
@id
默认给生成一个uuid呢?
不是自增
项目:
JFinal
评论区
JFinal
2019-02-13 18:27
User 中覆盖下 save(),置入 id 值然后 return super.save()
或者数据表 id 字段设置为自增
回复
王子鹏
2019-02-14 10:39
@JFinal
非常感谢! 解决了我的问题 但是请问 如果当我有很多个类 都需要生成id 有的还需要生成时间 或者其它自定义的(譬如当前用户id) 除了一个个去覆盖父类的方法 还有没有别的办法 ?
回复
王子鹏
2019-02-14 10:44
@JFinal
或者能不能设置在生成实体 并给实体新增dao时
(public static final BaseUser dao = new BaseUser().dao();)
同时新增一些其它自定义方法
回复
杜福忠
2019-02-15 14:15
新增一个BaseModel,然后你的Model都去继承它,在BaseModel中去重写save就可以了。
也可以增加一个 kit工具,如:ModelKit.save( Model ) 里面进行set你需要的值
回复
王子鹏
2019-02-15 16:17
@杜福忠
谢谢! 我用了第二种方法 解决了我的问题
回复
王子鹏
2019-02-15 16:18
@杜福忠
因为实体类会频繁的重新生成 每次都去更改继承的父类也比较麻烦
回复
JFinal
2019-02-15 18:24
@王子鹏
将 jfinal 模板文件 copy 出来,然后直接改模板,最后配置使用自己的模板:
generator.setBaseModelTemplate("my-base-model-template.jf");
generator.generate();
在上述的 "my-base-model-template.jf" 模板文件中,将 Model 改成你自己弄的一个 BaseModel 即可,一次性搞定所有,十分方便
回复
JFinal
2019-02-15 18:25
@王子鹏
补充上面:首先你做一个 BaseModel 继承 Model,然后在 BaseModel 中覆盖 save() 方法完成功能
最后自己所有的 Model 由继承 Model 改成继承 BaseModel。 改生成器模板是最方便的
回复
王子鹏
2019-02-17 20:16
@JFinal
自定义了模板文件 先继承自己自定义的类后继承model 这个方法很好用! 谢谢!
回复
发送
我要反馈
热门反馈
扫码入社
或者数据表 id 字段设置为自增