JFinal自动生成视图model

JFinal可以通过_JFinalDemoGenerator工具类根据数据库自动生成model类,也可以通过 generator.addExcludeTable()设置不生成model类的数据表,现在建立了视图,希望根据视图自动生成model类,但是由于视图没有主键,报错:

Exception in thread "main" java.lang.RuntimeException: primaryKey of table "audio_view" required by active record pattern

我查了下mysql中视图是无法建立主键的,现在有办法让_JFinalDemoGenerator自动生成视图对应的model类吗?

评论区

JFinal

2017-06-16 00:17

建议不要生成视图的 model,这样来操作:
继承一下 MetaBuilder 这个类,覆盖掉其中的 getTablesResultSet(...) 方法,去掉其中的 "VIEW" 参数,再将继承类注入到 Generator 中去即可

如果一定要生成视图的 view,可以扩展 MetaBuilder,覆盖掉 buildPrimaryKey(...) 方法,将主键限定改一下

特别注意 Active record 模式是需要主键值的,意味着生成的 Model 仍然无法使用该模式操作数据库,非 AR 模式可以使用 Db + Record 模式操作数据库

pfjia

2017-06-16 14:21

@JFinal 明白,多谢站长

热门反馈

扫码入社