求助,hibernate javabean里添加了非数据库字段之后就报错

问题描述

严重:Servlet.service()forservlet[springmvc]incontextwithpath[/]threwexception[Handlerprocessingfailed;nestedexceptionisjava.lang.NoSuchMethodError:net.shopxx.entity.Product.setTempPrice(Ljava/math/BigDecimal;)V]withrootcausejava.lang.NoSuchMethodError:net.shopxx.entity.Product.setTempPrice(Ljava/math/BigDecimal;)Vatnet.shopxx.service.impl.SearchServiceImpl.searchProduct(SearchServiceImpl.java:339)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)atorg.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)atorg.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)atorg.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)atorg.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)atorg.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)at$Proxy99.searchProduct(UnknownSource)atnet.shopxx.controller.shop.SearchController.search(SearchController.java:74)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)atorg.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)atorg.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)atorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)atorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686)atorg.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)atorg.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)atorg.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)atorg.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)atorg.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:621)atorg.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:728)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)atcom.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:270)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)atnet.shopxx.filter.SiteStatusFilter.doFilterInternal(SiteStatusFilter.java:50)atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)atorg.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)atorg.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)atorg.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)atorg.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)atorg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)atorg.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)atorg.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)atjava.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)atjava.lang.Thread.run(Thread.java:619)

解决方案

解决方案二:
在线等,第二天上班就弄这个bug弄了一天,今天又继续弄。。
解决方案三:
你配置文件中也加入TempPrice这个。
解决方案四:
引用2楼rui888的回复:

你配置文件中也加入TempPrice这个。

用的注解,怎么破。。找不到配置文件
解决方案五:
我又在表中添加了temp_price字段,还是不能用get/set方法/***获取临时商品价格**@return临时商品价格*/@JsonProperty@Field(store=Store.YES,index=Index.UN_TOKENIZED)@NumericField@FieldBridge(impl=BigDecimalNumericFieldBridge.class)@NotNull@Min(0)@Digits(integer=12,fraction=3)@Column(name="temp_prcice",nullable=false,precision=19,scale=2)publicBigDecimalgetTempPrice(){returntempPrice;}/***设置临时商品价格**@paramtimePrice*临时商品价格*/publicvoidsetTempPrice(BigDecimaltempPrice){this.tempPrice=tempPrice;}

解决方案六:
求大神,在线急等。。
解决方案七:
jpa标准有setter,getter都是映射到数据库的,如果自己加其他的属性,要使用@Transient注解。
解决方案八:
参数异常,封装不了肯定报错!
解决方案九:
引用6楼yys79的回复:

jpa标准有setter,getter都是映射到数据库的,如果自己加其他的属性,要使用@Transient注解。

正解,@Transient属性就是非数据库映射字段,楼主可以看看Hibernate注解的说明文档,写的非常清楚啊。。。

时间: 2024-11-05 22:58:31

求助,hibernate javabean里添加了非数据库字段之后就报错的相关文章

frame-我在添加和修改是只要是有关日期类型的字段就会报错

问题描述 我在添加和修改是只要是有关日期类型的字段就会报错 我用的pastgresql数据库 ,Springmvc hibernate,Spring,frame框架! 错误信息是: Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'birthday'; nested exception is org.springframework.

mysql-测试hibernate框架自动建表并保存数据,没报错,但数据只保存了一部分

问题描述 测试hibernate框架自动建表并保存数据,没报错,但数据只保存了一部分 解决方案 因为你去给Product这个对象创建三个实例,pro.pro2.pro3,对吧,然后你不停的给pro去赋值(pro.setName()),最后pro的最后一个值把前两个覆盖掉了,所以只添加了一个棉花糖.正确的方式是要给每个,你把第29行改成pro2.setName():30行pro2.setDir():33行pro3.setName():34行pro3.setDir(),就万事大吉了,祝你成功! 解决

mysql-求助。。java程序访问数据库试用AS别名报错Column 'userid' not found.

问题描述 求助..java程序访问数据库试用AS别名报错Column 'userid' not found. 本人小白java程序中访问mysql数据库去掉AS别名就可以正常访问,加上别名就报错Column 'userid' not found. 这个别名很重要..求大神帮助 解决方案 as这个关键字是可以省略的 解决方案二: AS别名指定的是返回的column的名称,要看你在JDBC中是怎么使用的了. 检查下所有使用了userid列名称的地方是否都正确设置了AS 别名了呢. 解决方案三: sp

SQLserver2012里对数据表“选择前1000行”报错,请大神指教怎么修复呀?万分感谢!

问题描述 SQLserver2012里对数据表"选择前1000行"报错,请大神指教怎么修复呀 解决方案 解决方案二:安装有问题重装修复下解决方案三:修复或重装,或者去其它电脑上复制你缺少但我dll解决方案四:没安装完整,其实这个功能不用也无所谓吧,自己都可以写呀解决方案五:先备份数据库,然后修复安装数据库.或是把备份好的数据库恢复至另一台数据库中,看看是否有问题.十分不成,可以重新安装SQL.解决方案六:重新安装解决方案七:select*fromtablelimit1000;

mysql-PHP MySQL Update修改数据库失败,无警告报错

问题描述 PHP MySQL Update修改数据库失败,无警告报错 <?php if(isset($_POST['submit'])&& $_POST['submit']) { $UID=$_GET['ID']; $name=$_POST['uname']; $phone=$_POST['phone']; $email=$_POST['email']; $servername="localhost"; $username = "root";

C++连接Mysql数据库,mysql_real_connect总是报错:访问内存冲突

问题描述 C++连接Mysql数据库,mysql_real_connect总是报错:访问内存冲突 C++连接本地Mysql数据库,配置按照网上来的:c/c++使用VS2013连接mysql数据库 访问数据库的代码也是按照网上来的: #include <winsock.h> #include <iostream> #include <string> #include <mysql.h> using namespace std; #pragma comment(

linux下php添加mysqli拓展库时,编译报错

问题描述 linux下php添加mysqli拓展库时,编译报错 php和mysql都是已经编译安装好了,现在想要给php添加mysqli 拓展库,结果在make的时候报错 cd /usr/local/src/php-5.6.19/ext/mysqli /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mys

oc-请大神看看 这是哪里出的毛病 刚刚学OC 跟视频里的代码一样 为啥我这个总是报错啊?

问题描述 请大神看看 这是哪里出的毛病 刚刚学OC 跟视频里的代码一样 为啥我这个总是报错啊? 这是xcode6.3里的代码: #import int main() { NSlog(@"第一个OC程序!!!"); return 0; } 用Mac 自带的终端编译后: zhuxunandeMac-mini:OC语言程序 shukyokunan$ cc -c 第一个OC程序.m 第一个OC程序.m:5:5: warning: implicit declaration of function

eclipse-java Collection类添加不同类型的元素 为什么会报错? jdk1.8

问题描述 java Collection类添加不同类型的元素 为什么会报错? jdk1.8 解决方案 1.自动装箱会把基本类型转换成对应的包装类,比如int会装箱为Integer类,但不会装箱成String类. 2.你可以这么写: c.add(String.valueOf(6)); 3.定义集合的时候,最好指出集合中元素的类型: Collection<String> c = new ArrayList<String>(); 解决方案二: 我的都不会报错!我的也是1.8 解决方案三: