not-null property references a null or transient value

org.apache.cxf.interceptor.Fault: not-null property references a null or transient value: com.wondersgroup.common.model.TbJkglTjinfo.yxbz; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: com.wondersgroup.common.model.TbJkglTjinfo.yxbz
	at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:119)
	at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:83)
	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:107)
	at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:54)
	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:68)
	at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
	at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
	at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
	at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:92)
	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:285)
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:168)
	at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:175)
	at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:153)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	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:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:876)
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:618)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1790)
	at java.lang.Thread.run(Thread.java:744)
Caused by: org.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value: com.wondersgroup.common.model.TbJkglTjinfo.yxbz; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: com.wondersgroup.common.model.TbJkglTjinfo.yxbz
	at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:645)
	at org.springframework.orm.hibernate3.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:789)
	at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:663)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at com.sun.proxy.$Proxy83.insertTjinfo(Unknown Source)
	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:606)
	at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:136)
	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:82)
	... 40 more
Caused by: org.hibernate.PropertyValueException: not-null property references a null or transient value: com.wondersgroup.common.model.TbJkglTjinfo.yxbz
	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:1027)
	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
	at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:655)
	... 53 more

在用soapUI测试webservice的时候,报出这个错误,查了一下原因,yxbz是必填字段,但是我保存的时候,这个值忘记save了,所以报出上面这个错误。
也就是说需要entity的这个属性.set(value),然后在save

在这里插入图片描述

<think>嗯,用户想在Ubuntu系统下配置树莓派进行UART串口通信。首先,我需要回想一下树莓派不同型号的串口情况。根据引用内容,树莓派4有6个UART,而之前的版本可能配置不同,尤其是树莓派3及之前的版本默认串口可能被蓝牙占用。用户提到的是Ubuntu系统,可能需要不同的配置步骤,而不是官方Raspbian系统。 首先,我需要确认用户使用的是树莓派4还是其他型号。因为不同型号的配置方法不同。根据引用1,树莓派4在Ubuntu20.04上的配置需要修改/boot/firmware/config.txt文件,而之前的版本可能需要关闭蓝牙或者调整设备树覆盖。不过用户没有明确说明型号,可能需要给出通用步骤,同时提醒不同型号的差异。 接下来,需要确保串口硬件已正确连接,比如GPIO引脚。然后,检查系统是否识别到串口设备,使用命令如ls /dev/tty*。根据引用4,不同的设备节点如ttyS0和ttyAMA0有不同的工作方式,用户可能需要知道哪个串口对应哪个节点。 然后是修改系统配置。根据引用1,树莓派4在Ubuntu20.04需要添加enable_uart=1到config.txt,并可能启用其他UART。对于其他型号,可能需要禁用蓝牙服务,如引用3提到的关闭蓝牙并将串口映射到GPIO。但Ubuntu的服务管理可能与Raspbian不同,所以需要确认具体的服务名称和禁用方法。 此外,用户权限问题也很重要,可能需要将用户加入dialout组,以便访问串口设备。安装必要的工具如minicom进行测试也是必要的步骤。 测试环节需要指导用户使用回环测试,或者连接外部设备验证通信是否正常。可能还需要配置串口参数,如波特率、数据位等,确保两端一致。 最后,用户可能会遇到问题,比如无法打开串口或数据错误,需要提示常见解决方法,如检查引脚连接、配置参数、权限问题等。同时,引用中的官方文档和论坛链接可以作为参考资源提供给用户,帮助他们进一步解决问题。 需要确保回答结构清晰,分步骤说明,同时涵盖不同型号的可能情况,并提醒用户注意差异。同时,按照系统级指令要求,正确使用LaTeX格式,生成相关问题,并在引用处添加标识。可能还需要检查所有引用是否准确对应到各个步骤中,例如引用1关于树莓派4的配置,引用3关于关闭蓝牙的方法等。</think>### 分步说明:Ubuntu系统树莓派UART串口通信配置 #### 1. **硬件准备与接确认** - 确认树莓派型号(如4B)和串口对应的GPIO引脚(默认UART0对应GPIO14-TXD、GPIO15-RXD)。 - 使用命令查看可用串口设备: ```bash ls /dev/tty* | grep -E "ttyAMA|ttyS" ``` 树莓派4的PL011串口通常为`/dev/ttyAMA0`,mini UART为`/dev/ttyS0`[^4]。 #### 2. **修改系统配置** - **树莓派4B配置**(Ubuntu 20.04及以上): 1. 编辑 `/boot/firmware/config.txt`,添加以下内容: ```ini enable_uart=1 dtoverlay=uart2 # 启用UART2(可选其他UART编号) ``` 2. 重启系统生效[^1]。 - **旧版本树莓派(如3B+)**: 1. 关闭蓝牙占用:编辑 `/boot/firmware/config.txt` 添加: ```ini dtoverlay=disable-bt ``` 2. 禁用蓝牙服务: ```bash sudo systemctl disable hciuart.service ``` #### 3. **配置用户权限** ```bash sudo usermod -aG dialout $USER # 将当前用户加入串口设备组 ``` 需注销后重新登录生效。 #### 4. **安装测试工具** ```bash sudo apt install minicom # 安装串口调试工具 ``` #### 5. **测试串口通信** - **回环测试**(短接TXD与RXD): ```bash echo "test" | sudo tee /dev/ttyAMA0 # 发送数据 sudo cat /dev/ttyAMA0 # 接收数据(应显示"test") ``` - **外部设备通信**: ```bash minicom -D /dev/ttyAMA0 -b 115200 # 设置波特率与设备一致 ``` #### 6. **代码示例(Python3)** ```python import serial ser = serial.Serial("/dev/ttyAMA0", baudrate=115200, timeout=1) ser.write(b"Hello UART\n") response = ser.readline() print("Received:", response.decode()) ser.close() ``` --- ### 常见问题解决 1. **无法打开串口设备** - 检查用户是否在`dialout`组,或使用`sudo`临时提权。 - 确认串口未被其他进程占用:`lsof /dev/ttyAMA0`。 2. **数据乱码/丢失** - 确认双方波特率、数据位、停止位配置一致。 - 树莓派4的mini UART(`ttyS0`)稳定性较差,建议优先使用PL011(`ttyAMA0`)。 3. **多串口启用** 树莓派4支持6个UART,需在`config.txt`中通过`dtoverlay=uart2~5`依次启用[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值