JFinal 存入数据库数据出错

发布于 2021-11-28 23:01:15 字数 3508 浏览 798 评论 11

@JFinal 你好,想跟你请教个问题:

T_section section=new T_section();
					String sectionId = ele.elementText("SectionId");
					String sectionName = ele.elementText("SectionName");
					section.set("sectionId", sectionId);
					section.set("sname", sectionName);
					section.set("hid", hid);
					section.save();
					System.out.println("更新成功");
错误信息是:
com.jfinal.plugin.activerecord.ActiveRecordException: com.jfinal.plugin.activerecord.ActiveRecordException: The attribute name does not exist: id
	at com.jfinal.plugin.activerecord.Model.save(Model.java:375)
	at com.qfkj.model.update.UpdateSectionForAll.saveSection(UpdateSectionForAll.java:89)
	at com.qfkj.controller.hospital.T_hospitalController.index(T_hospitalController.java:11)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.jfinal.aop.Invocation.invoke(Invocation.java:71)
	at com.jfinal.core.ActionHandler.handle(ActionHandler.java:74)
	at com.jfinal.ext.handler.ContextPathHandler.handle(ContextPathHandler.java:47)
	at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:72)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:722)
Caused by: com.jfinal.plugin.activerecord.ActiveRecordException: The attribute name does not exist: id
	at com.jfinal.plugin.activerecord.Model.set(Model.java:119)
	at com.jfinal.plugin.activerecord.Model.getGeneratedKey(Model.java:396)
	at com.jfinal.plugin.activerecord.Model.save(Model.java:371)
	... 27 more



是因为我这个表的主键名不是id而是sid吗





如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

明媚如初 2021-12-01 03:48:38

后来在手册中看到了,可能是我以前看手册不够仔细,一直认为是在介绍config配置中但是其实是在5.2 5.2 ActiveRecordPlugin这一节

緦唸λ蓇 2021-12-01 03:48:37

回复
看手册一定要仔细呀,何况你还在这里出现了问题,更要仔细看了

孤檠 2021-12-01 03:48:36

回复
好的,谢谢

德意的啸 2021-12-01 03:48:34

映射 model 的时候设置一下主键名即可:

arp.addMapping("T_section", "sid", T_section.class) 

  这个在手册的中的例子中都有说明。

无法言说的痛 2021-12-01 03:48:33

arp.addMapping("T_section", T_section.class);这样是不是默认主键是id?

陌若浮生 2021-12-01 03:48:30

回复
是怎样指定呢,看手册没有,也没有百度到

三月梨花 2021-12-01 03:48:30

回复
默认为“id”,所以不是此名的话需要指定id字段名

你曾走过我的故事 2021-12-01 03:31:20

回复
指定了主键名,但是出现列名“id” 无效我这里命名没有id这一列名啊

眼泪淡了忧伤 2021-12-01 01:48:31

Config中注册Model时,给出的ID名不正确

终遇你 2021-11-30 15:28:11

设置了自增长的

蓝颜夕 2021-11-30 04:06:40

你的主键没设置自增长吧!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文