日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java - SSH 根據id字段不能更新數據問題

瀏覽:182日期:2023-11-08 13:43:41

問題描述

org.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value: com.lcy.po.AuthorAdmin.authorUsername; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: com.lcy.po.AuthorAdmin.authorUsername at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:648) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411) at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374) at org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:705) at org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:701) at com.lcy.dao.author.admin.AuthorAdminDaoImpl.updateAuthorAdmin(AuthorAdminDaoImpl.java:48) at com.lcy.service.author.admin.AuthorAdminServiceImpl.updateAuthorAdmin(AuthorAdminServiceImpl.java:47) at com.lcy.action.author.admin.AuthorAdminAction.updateAuthorAdmin(AuthorAdminAction.java:124) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452) at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)Caused by: org.hibernate.PropertyValueException: not-null property references a null or transient value: com.lcy.po.AuthorAdmin.authorUsername at org.hibernate.engine.Nullability.checkNullability(Nullability.java:95) at org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate(DefaultFlushEntityEventListener.java:292) at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:151) at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219) at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:49) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028) at org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:390) at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:407) ... 71 more

dao的方法

public void updateAuthorAdmin(AuthorAdmin aa) {try { basedao.getTemplate().update(aa); System.out.println('dao updateAuthorAdmin suc');} catch (Exception e) { System.out.println('dao updateAuthorAdmin error'); e.printStackTrace(); throw new RuntimeException();}@Override public AuthorAdmin getAuthorAdmin(Long id) {AuthorAdmin authorAdmin = basedao.getTemplate().get(AuthorAdmin.class,id);if (authorAdmin == null) { System.out.println('dao getAuthorAdmin沒有獲得對象');}System.out.println('dao getAuthorAdmin成功獲得對象');return authorAdmin; }

action層

public class AuthorAdminAction extends BaseAction implementsModelDriven<AuthorAdmin>{private AuthorAdmin authoradmin = new AuthorAdmin(); @Override public AuthorAdmin getModel() {return authoradmin; }public String getAuthorAdmin() {authoradmin= iauthoradminservice.getAuthorAdmin(authoradmin.getAuthorId());System.out.println('action getAuthorAdmin suc');return 'getSuccess'; }public String updateAuthorAdmin() {iauthoradminservice.updateAuthorAdmin(authoradmin);System.out.println('action updateAuthorAdmin suc');return 'updateSuccess'; }}

JSP頁面根據id跳轉

<a href='http://www.b3g6.com/wenda/${pageContext.request.contextPath}/get_AuthorAdmin?authorId=<s:property value='#obj.authorId'/>'></a>

進入修改表單

<s:form action='update_AuthorAdmin' method='post'><s:hidden name='authorId' value='%{model.authorId}'></s:hidden><s:textfield name='%{model.authorUsername}' label='用戶名'></s:textfield><s:textfield name='%{model.authorPwd}' label='密碼'></s:textfield><s:textfield name='%{model.authorName}' label='姓名'></s:textfield><s:textfield name='%{model.authorSex}' label='性別'></s:textfield><s:textfield name='%{model.authorBirth}' label='生日'></s:textfield><s:textfield name='%{model.authorRegion}' label='作者區域'></s:textfield><s:textfield name='%{model.authorAddress}' label='通訊地址'></s:textfield><s:textfield name='%{model.authorPost}' label='職稱'></s:textfield><s:textfield name='%{model.authorJob}' label='職業'></s:textfield><s:textfield name='%{model.authorCompany}' label='工作單位'></s:textfield><s:textfield name='%{model.authorDegree}' label='學歷'></s:textfield><s:textfield name='%{model.authorMajor}' label='專業方向'></s:textfield><s:textfield name='%{model.authorTitle}' label='文章標題'></s:textfield><s:textfield name='%{model.authorMail}' label='E-mail'></s:textfield><s:textfield name='%{model.authorPhone}' label='電話'></s:textfield><s:textfield name='%{model.authorInfo}' label='個人簡介'></s:textfield><s:submit value='修改'></s:submit> </s:form>

struct2.xml

<package name='authorAdmin' extends='struts-default'><action name='*_*' method='{1}{2}'> <result name='saveSuccess' type='redirectAction'>list_{2}.action</result> <result name='updateSuccess' type='redirectAction'>list_{2}.action</result> <result name='loginSuccess' type='redirectAction'>list_{2}.action</result> <result name='removeSuccess' type='redirectAction'>list_{2}.action</result> <result name='listSuccess'>/{2}/{1}/{1}Success.jsp</result> <result name='getSuccess'>/{2}/update/update.jsp</result></action> </package>

實體類的字段還有映射

private Long authorId; private String authorUsername; private String authorPwd; private String authorName; private String authorSex; private String authorBirth; private String authorRegion; private String authorAddress; private String authorPost; private String authorJob; private String authorCompany; private String authorDegree; private String authorMajor; private String authorTitle; private String authorMail; private String authorPhone; private String authorInfo; private Timestamp gmtCreate; private Timestamp gmtModified; private Set documentInfos = new HashSet(0);

<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-mapping PUBLIC '-//Hibernate/Hibernate Mapping DTD 3.0//EN''http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd'><!-- Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping> <class name='com.lcy.po.AuthorAdmin' table='author_admin' catalog='ssh'><id name='authorId' type='java.lang.Long'> <column name='author_id' /> <generator /></id><property name='authorUsername' type='java.lang.String'> <column name='author_username' length='20' not-null='true'><comment>用戶名</comment> </column></property><property name='authorPwd' type='java.lang.String'> <column name='author_pwd' length='20' not-null='true'><comment>密碼</comment> </column></property><property name='authorName' type='java.lang.String'> <column name='author_name' length='20'><comment>姓名</comment> </column></property><property name='authorSex' type='java.lang.String'> <column name='author_sex' length='2'><comment>性別</comment> </column></property><property name='authorBirth' type='java.lang.String'> <column name='author_birth' length='20'><comment>生日</comment> </column></property><property name='authorRegion' type='java.lang.String'> <column name='author_region' length='50'><comment>作者區域</comment> </column></property><property name='authorAddress' type='java.lang.String'> <column name='author_address' length='100'><comment>通訊地址</comment> </column></property><property name='authorPost' type='java.lang.String'> <column name='author_post' length='50'><comment>職稱</comment> </column></property><property name='authorJob' type='java.lang.String'> <column name='author_job' length='50'><comment>職業</comment> </column></property><property name='authorCompany' type='java.lang.String'> <column name='author_company' length='50'><comment>工作單位</comment> </column></property><property name='authorDegree' type='java.lang.String'> <column name='author_degree' length='40'><comment>學歷</comment> </column></property><property name='authorMajor' type='java.lang.String'> <column name='author_major' length='50'><comment>專業方向</comment> </column></property><property name='authorTitle' type='java.lang.String'> <column name='author_title' length='20'><comment>文章標題</comment> </column></property><property name='authorMail' type='java.lang.String'> <column name='author_mail' length='100'><comment>E-mail</comment> </column></property><property name='authorPhone' type='java.lang.String'> <column name='author_phone' length='11'><comment>電話</comment> </column></property><property name='authorInfo' type='java.lang.String'> <column name='author_info' length='65535'><comment>個人簡介</comment> </column></property><property name='gmtCreate' type='java.sql.Timestamp'> <column name='gmt_create' length='19'><comment>創建時間</comment> </column></property><property name='gmtModified' type='java.sql.Timestamp'> <column name='gmt_modified' length='19'><comment>修改時間</comment> </column></property><set name='documentInfos' inverse='true'> <key><column name='author_id' not-null='true'> <comment>稿件作者</comment></column> </key> <one-to-many /></set> </class></hibernate-mapping>

問題解答

回答1:

先看一下報錯,authorUsername是一個non-null屬性,有一個非空校驗,你提交了個空值,所以報錯了。可能導致的原因:

1.表單無輸入,或輸入錯誤2.屬性名稱前后不匹配,傳遞過程中,賦值失敗,造成丟值3.臟數據,讀取出來的數據存在問題,更新插入的時候空值失敗回答2:

看下basedao的方法吧

標簽: java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久影院午夜精品| 国产一区二区三区视频在线| 国产精品任我爽爆在线播放| 91成人在线精品视频| 7777精品| 精品捆绑调教一区二区三区| 在线一区电影| 日韩不卡一二三区| 日韩欧美另类一区二区| 精品中文字幕一区二区三区av| 日韩和的一区二在线| 欧美特黄一区| 中文欧美日韩| 亚洲三级欧美| 婷婷成人av| 91亚洲国产高清| 亚洲精品高潮| 999久久久国产精品| 日韩精品免费观看视频| 成人国产精品一区二区网站| 视频一区中文字幕精品| 日本不卡免费高清视频在线| 免费久久99精品国产| 日韩中文字幕高清在线观看| 久久精品 人人爱| 亚洲一区二区三区中文字幕在线观看| 视频福利一区| 国产精品麻豆成人av电影艾秋| 国产亚洲电影| 亚洲精品99| 91精品国产调教在线观看| 国产精品一区二区三区美女| 日韩精品视频网| 国产精品免费看| 国产精品呻吟| 久久免费高清| 国产aⅴ精品一区二区四区| 免费成人性网站| 国产视频一区三区| 国产91在线播放精品| 国产精品极品在线观看| 日韩二区三区在线观看| 亚洲精品欧美| 亚洲人成网77777色在线播放 | 国产乱人伦精品一区| 日韩国产一二三区| 国产精品hd| 国产精品theporn| 国产在线观看91一区二区三区 | 香蕉久久一区| 日韩中文字幕麻豆| 国内精品福利| 97成人在线| 蜜臀国产一区| 亚洲欧美日韩在线观看a三区| 欧美在线黄色| 9999国产精品| 日本 国产 欧美色综合| 欧美国产先锋| 亚洲激情社区| 成人污污视频| 日韩欧美四区| www在线观看黄色| 黄色av一区| 久久精品免视看国产成人| 欧美影院三区| 精品美女在线视频| 另类国产ts人妖高潮视频| 老司机精品视频网| 国产精品美女久久久浪潮软件| 久久美女精品| 麻豆精品蜜桃视频网站| 免费日韩av片| 狠狠久久伊人| а√天堂8资源在线| 欧美日韩91| 98精品视频| 日韩精品乱码av一区二区| 国产精品男女| 激情久久五月| 日韩一区二区三区在线看| 在线日韩欧美| 91九色精品| 91精品成人| 日韩精品一级二级| 99久久精品国产亚洲精品| 国产成人精品三级高清久久91| av一区在线| 亚洲激情国产| 日韩二区三区四区| 麻豆国产欧美一区二区三区| 久久久久观看| 国产高清不卡| 日韩深夜视频| 国产精品一区二区精品视频观看| 精品国产18久久久久久二百| 欧美天堂一区二区| 国产亚洲欧美日韩精品一区二区三区 | 亚洲欧美久久久| 99久精品视频在线观看视频| 精品美女在线视频| 欧美国产一级| 美女精品久久| 国产91在线播放精品| 国产成人免费av一区二区午夜| 伊人久久大香线蕉av不卡| 在线一区视频| 美国三级日本三级久久99| 一级欧美视频| 国产免费播放一区二区| 日韩av中文字幕一区二区| 国产毛片一区二区三区| 国产精品毛片一区二区在线看| 中文不卡在线| 国产精品扒开腿做爽爽爽软件| 亚洲精品小说| 久久福利在线| 国产一区二区亚洲| 国产日韩电影| 一本色道久久精品| 日韩av一二三| 国产成人久久精品麻豆二区 | 99日韩精品| 欧美三级第一页| 日韩久久电影| 日韩精选在线| 精品国产亚洲一区二区三区| 91高清一区| 九九99久久精品在免费线bt| 激情欧美一区二区三区| 国产精品亚洲二区| 99国内精品| 国内精品美女在线观看| 中文字幕一区二区三区在线视频| 99久久久久国产精品| 日韩视频1区| 999久久久亚洲| 久久av资源| 日韩欧美在线精品| 亚洲一级网站| 久久中文字幕一区二区| 三级欧美在线一区| 久久人人97超碰国产公开结果| 久久九九国产| 欧美精品国产白浆久久久久| 久热精品在线| 欧洲一级精品| 精品三级国产| 国产色99精品9i| 日韩**一区毛片| 中文视频一区| 午夜久久美女| 黄色亚洲精品| 欧美不卡高清| 成人亚洲一区二区| 国产精品久久久久久妇女| 日韩一区二区三区精品| 91九色精品| 免费久久精品| 亚洲韩日在线| 尤物tv在线精品| 久久久久午夜电影| 四虎影视精品| 91精品国产乱码久久久久久久| 亚洲精品三级| 日本久久二区| 亚洲欧美一级| 日本视频中文字幕一区二区三区| 911精品国产| 国产精品欧美在线观看| 中文一区一区三区免费在线观 | 久久超碰99| 亚洲五月婷婷| 国产精品久久久久9999高清 | 欧美成人a交片免费看| 三级在线观看一区二区| 精品国模一区二区三区| 中文久久精品| 在线日韩电影| 日韩啪啪电影网| 欧美成a人免费观看久久| 久久精品国产成人一区二区三区| 91综合久久爱com| 欧洲av不卡| 日韩中文字幕不卡| 日韩欧美一区二区三区在线视频| 91精品一区二区三区综合在线爱 | 奇米777国产一区国产二区| 亚洲一区二区毛片| 亚洲色诱最新| 蜜臀a∨国产成人精品| 91精品精品| av资源中文在线| 国产粉嫩在线观看| 91一区二区| 精精国产xxxx视频在线野外| 美女福利一区二区三区| 午夜亚洲福利在线老司机| 91亚洲精品在看在线观看高清| 91看片一区|