Illegal group reference异常解决
来源:互联网 发布:新ubantu系统安装caffe 编辑:程序博客网 时间:2024/06/09 23:28
异常场景:
Web项目与数据库有交互。
解决步骤:
开始的时候感觉是数据类型不匹配或是数据格式不规范的原因,因为在已经上线的项目中的某个实体内添加了日期字段(@Column(name = "CREATE_DATE" ,nullable=false,columnDefinition="datetime default '0000-00-00 00:00:00'")),看到列属性定义就可以看到错误在什么地方了,日期类型的字段,我为它赋了0000-00-00 00:00:00的默认值,呵呵。关键这不是头疼的事情,在测试的时候我为测试数据库中原先的相关数据手动添加了默认值,日期类型的。这样测试的时候绝对是没有问题的,因为测试数据库中没有columnDefinition="datetime default '0000-00-00 00:00:00'"这部分代码的用武之地,好了,测是没问题,上线吧。——Illegal group reference这个东西出来了。百思不得其解,测试正常,也很有自信感觉自己的代码没问题,到网上找各种资料,大多讲的异常Illegal group reference是由String replaceAll(regex, replacement)函数造成的,搜索了整个项目,与新加字段相关的代码压根就没用到这个方法。还是坚持最初的怀疑——数据库中数据的问题。
这个时候想到生产环境和测试环境的差别就是测试的时候新增字段的默认值是我手动设置的,而生产数据库中新增字段的默认值是程序中定义的。这时大约的感觉到是columnDefinition="datetime default '0000-00-00 00:00:00'"这部分代码出问题了。写sql将默认值修改为DATE("2016-01-01 00:00:00")在运行程序,问题解决了。
总结:
这个场景中Illegal group reference异常出现的原因是数据库中的数据不符合Java或是JavaScript中数据的规范,比如运行sql语句UPDATE activity_enrole_user SET CREATE_DATE = '0000-00-00 00:00:00';没有任何问题,但是在JavaScript中new Date("0000-00-00 00:00:00");会提示Invalid Date,new Date("2016-01-01 00:00:00")则正常显示Fri Jan 01 2016 00:00:00 GMT+0800 (中国标准时间)。
心得:
在与数据库交互的应用中,出现错误的原因可能是代码本身,也有可能是数据的问题,此时就需要多加思考和验证问题产生的来源。
- Illegal group reference异常解决
- Illegal group reference异常分析
- "Illegal group reference"异常的分析
- Illegal group reference"异常的分析
- Illegal group reference"异常的分析
- 解决:java.lang.IllegalArgumentException: Illegal group reference
- string.replaceAll Illegal group reference"异常的分析
- Java replaceAll()方法报错Illegal group reference
- Java replaceAll()方法报错Illegal group reference
- 混淆导致的 java.lang.AssertionError: illegal type variable reference异常的解决方案
- undefined reference to...异常的解决
- 对hadoop 执行mapreduce时发生异常Illegal partition for的解决过程
- 解决org.hibernate.QueryException illegal attempt to dereference collection 异常错误
- 解决org.hibernate.QueryException illegal attempt to dereference collection 错误异常
- Java实现AES加密,异常java.security.InvalidKeyException: Illegal key size 的解决
- Java实现AES加密,异常java.security.InvalidKeyException: Illegal key size 的解决
- Java实现AES加密,异常java.security.InvalidKeyException: Illegal key size 的解决
- Java实现AES加密,异常java.security.InvalidKeyException: Illegal key size 的解决
- 服务器集群搭建
- Java NIO 学习(五)--DataGramChannel
- 基于C语言EOF与getchar()的使用详解
- Codeforces-697C Lorenzo Von Matterhorn
- AndroidStudio ButterKnife+Android ButterKnife Zelezny实现高效率布局绑定
- Illegal group reference异常解决
- swift语言之ios开发实现界面跳转
- mini2440 文件系统无法烧写问题
- ubuntu16.04安装atom
- 认识servlet中的cookie
- 大数加减乘除
- Salesforce chatter:userPhotoUpload Component 使用
- Git
- samba服务器&nginx配置->windows映射