Grails4 使用Audit-Logging Stampable 出现报错:HHH000142: Bytecode enhancement failed
详细报错:
Hibernate: select this_.role_id as role_id1_6_0_, this_.user_id as user_id2_6_0_ from middol_auth_UserRole this_ where this_.user_id=?
2020-10-11 10:20:10.951 ERROR --- [nio-9999-exec-4] o.h.p.p.bytebuddy.ByteBuddyProxyFactory : HHH000142: Bytecode enhancement failed: middol.auth.Rolejava.lang.reflect.InvocationTargetException: nullat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:423)at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyProxyFactory.getProxy(ByteBuddyProxyFactory.java:89)at org.hibernate.tuple.entity.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:732)at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:5007)at org.hibernate.event.internal.DefaultLoadEventListener.createProxy(DefaultLoadEventListener.java:427)at org.hibernate.event.internal.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:418)at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:326)at org.hibernate.event.internal.DefaultLoadEventListener.doOnLoad(DefaultLoadEventListener.java:108)at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:74)at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:113)at org.hibernate.internal.SessionImpl.fireLoadNoChecks(SessionImpl.java:1184)at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1049)at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:697)at org.hibernate.type.EntityType.resolve(EntityType.java:464)at org.hibernate.type.ManyToOneType.resolve(ManyToOneType.java:240)at org.hibernate.type.EntityType.resolve(EntityType.java:457)at org.hibernate.type.ComponentType.resolve(ComponentType.java:695)at org.hibernate.loader.Loader.extractKeysFromResultSet(Loader.java:876)at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:730)at org.hibernate.loader.Loader.getRowsFromResultSet(Loader.java:1042)at org.hibernate.loader.Loader.processResultSet(Loader.java:993)at org.hibernate.loader.Loader.doQuery(Loader.java:962)at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:352)at org.hibernate.loader.Loader.doList(Loader.java:2857)at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2701)at org.hibernate.loader.Loader.list(Loader.java:2663)at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:109)at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1875)at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:370)at org.grails.orm.hibernate.query.AbstractHibernateQuery.listForCriteria(AbstractHibernateQuery.java:720)at org.grails.orm.hibernate.query.AbstractHibernateQuery.list(AbstractHibernateQuery.java:710)at org.grails.datastore.gorm.finders.FindAllByFinder.invokeQuery(FindAllByFinder.java:54)at org.grails.datastore.gorm.finders.FindAllByFinder$1.doInSession(FindAllByFinder.java:48)at org.grails.datastore.mapping.core.DatastoreUtils.execute(DatastoreUtils.java:319)at org.grails.datastore.gorm.finders.AbstractFinder.execute(AbstractFinder.java:42)at org.grails.datastore.gorm.finders.FindAllByFinder.doInvokeInternal(FindAllByFinder.java:45)at org.grails.datastore.gorm.finders.DynamicFinder.invoke(DynamicFinder.java:254)at org.grails.datastore.gorm.finders.DynamicFinder.invoke(DynamicFinder.java:392)at org.grails.datastore.gorm.finders.FinderMethod$invoke$0.call(Unknown Source)at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)at org.grails.datastore.gorm.finders.FinderMethod$invoke$0.call(Unknown Source)at org.grails.datastore.gorm.GormStaticApi.methodMissing(GormStaticApi.groovy:185)at org.grails.datastore.gorm.GormEntity$Trait$Helper.staticMethodMissing(GormEntity.groovy:777)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1470)at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:985)at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:180)at middol.auth.UserRole.staticMethodMissing(UserRole.groovy)at middol.auth.UserRole.$static_methodMissing(UserRole.groovy)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1523)at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1511)at org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:50)at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)at middol.auth.User.getRoles(User.groovy:44)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1859)at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:1155)at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:3797)at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:1167)at org.codehaus.groovy.runtime.callsite.PogoMetaClassGetPropertySite.getProperty(PogoMetaClassGetPropertySite.java:50)at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:309)at middol.auth.MiddolCustomUserDetailsService.$tt__middolCustomUserDetailsService_loadUserByUsername(MiddolCustomUserDetailsService.groovy:37)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:1011)at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:994)at org.codehaus.groovy.runtime.InvokerHelper.invokeMethodSafe(InvokerHelper.java:97)at middol.auth.MiddolCustomUserDetailsService$_loadUserByUsername_closure1.doCall(MiddolCustomUserDetailsService.groovy)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)at groovy.lang.Closure.call(Closure.java:405)at groovy.lang.Closure.call(Closure.java:421)at grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)at grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)at middol.auth.MiddolCustomUserDetailsService.loadUserByUsername(MiddolCustomUserDetailsService.groovy)at org.springframework.security.authentication.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:108)at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:144)at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:175)at grails.plugin.springsecurity.rest.RestAuthenticationFilter.doFilter(RestAuthenticationFilter.groovy:102)at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.groovy:64)at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)at grails.plugin.springsecurity.rest.RestLogoutFilter.doFilter(RestLogoutFilter.groovy:82)at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.groovy:58)at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:114)at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:104)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:97)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: nullat org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:37)at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:75)at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)at middolauditlog.Stampable$Trait$Helper.$init$(Stampable.groovy:14)at middol.auth.Role.<init>(Role.groovy)at middol.auth.Role$HibernateProxy$Kut2TRkY.<init>(Unknown Source)... 160 common frames omitted
参考
解决办法1,domain类上增加
@ManagedEntity
如:
package middol.authimport grails.gorm.hibernate.annotation.ManagedEntity
import grails.plugin.springsecurity.SpringSecurityService
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import grails.compiler.GrailsCompileStatic
import middolauditlog.Auditable
import middolauditlog.Stampable/**
* @Description: 用户
* @Author: zhangjiayu@middol.com
* @CreateDate: 2020/8/20 16:05
* @Version: 1.0
*/
@GrailsCompileStatic
@EqualsAndHashCode(includes='username')
@ToString(includes='username', includeNames=true, includePackage=false)
@ManagedEntity
class User implements Serializable, Stampable<User>, Auditable {SpringSecurityService springSecurityServiceprivate static final long serialVersionUID = 1String username //登录账号String name //真实姓名String avatar //头像Integer sex //性别(1:男 2:女)String email //电子邮件String phoneNum //电话String password //密码String orgCode //组织代码Integer status //状态(1:正常 2:冻结 )String workNo //工号String post //职务Long orgId //组织IDboolean enabled = trueboolean accountExpiredboolean accountLockedboolean passwordExpireddef getRoles() {(UserRole.findAllByUser(this) as List<UserRole>)*.role.unique()}def beforeInsert() {encodePassword()}def beforeUpdate() {if (isDirty('password')) {encodePassword()}}protected void encodePassword() {password = springSecurityService?.passwordEncoder ? springSecurityService.encodePassword(password) : password}static transients = ['springSecurityService']static constraints = {password nullable: false, blank: false, password: trueusername nullable: false, blank: false, unique: true}static mapping = {comment "用户信息"password comment: "密码", column: '`password`'username comment: "用户名", index: "index_username"phoneNum comment: "手机号", index: "index_phoneNum"email comment: "邮箱", index: "index_email"name comment: "真实姓名"avatar comment: "头像"sex comment: "性别(1:男 2:女)"orgCode comment: "组织代码"status comment: "状态(1:正常 2:冻结 )"workNo comment: "工号"post comment: "职务"enabled comment: "是否启用"accountExpired comment: "账号是否过期"accountLocked comment: "账号是否锁住"passwordExpired comment: "密码是否过期"orgId comment: "组织Id"}
}
解决办法2:参考
Grails4 使用Audit-Logging Stampable 出现报错:HHH000142: Bytecode enhancement failed相关推荐
- 安装TensorRT,然后导入uff库包的时候报错:ImportError: ERROR: Failed to import module(cannot import name ‘GraphDef`)
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 安装TensorRT,然后导入uff库包的时候报错:ImportError: ERROR: Failed to impo ...
- httpd启动报错:httpd: apr_sockaddr_info_get() failed for jsp...
httpd启动报错:httpd: apr_sockaddr_info_get() failed for jsp... 今天在搭建Apache+tomcat整合环境的时候,遇到httpd启动报错这种情况 ...
- 报错信息为:Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource
报错信息为:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource ...
- git clone 报错:error: RPC failed; curl 18 transfer closed with outstanding read
欢迎移步我的个人博客 git clone 时候报错如下 error: RPC failed; curl 18 transfer closed with outstanding read data re ...
- (转)Eclipse4.2 Tomcat启动报错 A child container failed during start
Eclipse4.2 Tomcat启动报错 A child container failed during start 2013-5-21 15:02:24 org.apache.catalina.c ...
- iOS报错:linker command failed with exit code 1 (use -v to see invocation) 问题解决方式之一
iOS报错:linker command failed with exit code 1 (use -v to see invocation) 问题解决方式之一 参考文章: (1)iOS报错:link ...
- 运行 skimage 报错ImportError: DLL load failed:找不到指定模块
经常遇到的一个问题 运行 skimage 报错ImportError: DLL load failed:找不到指定模块,花了2个小时逐个排查,以及网上找原因验证,最终解决了. 通过一下安装仍会报错 p ...
- 区块链报错3 | truffle unbox 报错 | downloading失败 | unbox failed
初学记录 · 欢迎交流 区块链DApp从零开始学 (一) | DApp抓包 区块链DApp从零开始学 (二) | 超详细 DApp创建 | 发行代币token |宠物领养 区块链知识 (一) | 实例 ...
- 报错:Solving environment: failed with initial frozen solve. Retrying with flexible solve.
miniconda创建虚拟环境后,在虚拟环境安装tophat,报错. Solving environment: failed with initial frozen solve. Retrying w ...
- Vue3+vite配置postcss-pxtorem报错[plugin:vite:css] Failed to load PostCss config
1.安装依赖 npm install postcss-pxtorem -D 2.设置规则(更改postcss.config.js,该文件为使用vue-cli3自动创建的文件,vite创建的项目,在项目 ...
最新文章
- 2022-2028年中国铅锌精矿粉行业市场研究及前瞻分析报告
- 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
- Kafka消费者Consumer常用配置
- 总统先生,一路走好!
- 达梦数据库修改字段长度_DM7 达梦数据库 序列 和 自增列 说明
- 第三次学JAVA再学不好就吃翔(part55)--StringBuffer类的删除功能
- 序列化和反序列化的概念_序列化的概念
- java servlet+oracle 新手可看
- metric learning -- 马氏距离与欧氏距离
- HttpURLConnection请求数据流的写入(write)和读取(read)
- winform中listview选中整行_Excel办公实操,操作区域的3大小技巧,办公中的你使用过吗...
- R、Rstudio的下载和安装教程
- 心在哪裡行動力就在那裡 戴晨志
- STM32的PC13、PC14、PC15用作普通IO口设置方法
- b站python_python学习 —— B站抢楼原理
- VMware连接不上网络解决办法
- “标注神器”——Zeplin使用教程(Ps版)
- find:paths must precede expression问题及解决
- 做了两年前端开发,平时就是拿 Vue 写写页面和组件,简历的项目经历应该怎么写得好看?
- KDRB-ZC变压器绕组阻抗测试仪
热门文章
- 软件功能测试ok,S7_200解密软件,测试OK
- win10系统在Vs2012工具菜单中添加ildasm.exe工具的操作办法
- mybatis文档地址
- chrome浏览器安装包点击无反应
- PSCS6下载和安装教程
- 什么是RS-232-C接口与什么是RS-485接口?
- java beanshell_使用beanshell实现JAVA代码动态运行
- 网页访问计数器 html,网页计数器(访问量)
- 门禁系统使用计算机的技术,门禁系统的指纹识别功能所运用的计算机技术是( )...
- WDM驱动开发 电源管理