jfinal自动生成实体,无主键报错

jfinal自动生成实体,无主键报错。有些表没有主键。

Build TableMeta ...
一月 12, 2018 4:40:23 下午 com.alibaba.druid.pool.DruidDataSource info
信息: {dataSource-1} inited
java.lang.RuntimeException: primaryKey of table "s_behavior_summary" required by active record pattern
	at com.jfinal.plugin.activerecord.generator.MetaBuilder.buildPrimaryKey(MetaBuilder.java:200)
	at com.jfinal.plugin.activerecord.generator.MetaBuilder.build(MetaBuilder.java:96)
	at com.jxtpro.generator.AbstractGenerator.gen2M2C(AbstractGenerator.java:114)
	at com.jxtpro.generator.TestGenerator.main(TestGenerator.java:15)
Build TableMeta ...
一月 12, 2018 4:40:23 下午 com.alibaba.druid.pool.DruidDataSource info
信息: {dataSource-2} inited
Exception in thread "main" java.lang.RuntimeException: primaryKey of table "s_behavior_summary" required by active record pattern
	at com.jfinal.plugin.activerecord.generator.MetaBuilder.buildPrimaryKey(MetaBuilder.java:200)
	at com.jxtpro.generator.GeneratorMetaBuilder.build(GeneratorMetaBuilder.java:34)
	at com.jxtpro.generator.TestGenerator.main(TestGenerator.java:23)


评论区

lyh061619

2018-01-12 17:22

自动生成,表必须设置主键。

lyh061619

2018-01-12 17:28

如果不想设置主键的表,只能在生成时,把没有主键的表给排除掉,在JFinal中使自动生成表是必须需要设置主键。

tosur

2018-01-12 17:49

这就不合理了。为啥一定要主键?为啥不跳过这个表啊,不能导致整个都跟着报错啊。

lyh061619

2018-01-12 19:38

你想跳过这张表,在自动生成器用这个gen.addExcludedTable(table)配置下表的过虑,表的主键这个就算你用不到,也可能任意定意个的呢,不会对你原表造成任何的影响,要多多转表,呆会你肯定又会说,我的中间为什么必须要有主键,这个不合理的,那么你想跳过就用我说的配置,不然你就任意定义个做主键就好了。

杜福忠

2018-01-12 20:11

@tosur 建议读下里面的源码, 很简洁,没有多少代码量,绝对让你收益颇多

热门反馈

扫码入社