1. Field 'id' doesn't have a default value
呃,数据库ID列设置了主键,但忘了设置自增。
2. SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
某天在验签加密时,用到了当前时间,联调时通过没问题就发布到了线上测试。线上反馈验签失败,经排查,原因是服务端"yyyyMMddHHmmss"用的是大写H,24小时制,后台使用的是小写h,12小时制。碰巧的是联调是在上午进行的,所以当时没发现问题。
3. mysql中某个datetime类型字段自动更新 (不要随意设置根据当前时间戳更新)
数据库设计表时,对于datetime类型字段,navicat某个版本会自动勾选 根据当前时间戳更新。这样的话,在更新该表时,假如没有对该字段赋值,则会自动使用当前时间戳对其赋值,这样的话,原来存储的值就会丢失。
4. Could not instantiate bean class [...]: Is it an abstract class?; nested exception is java.lang.InstantiationException
当我们在spring配置文件中进行bean对象管理时,提示无法实例化该类,从字面上不难理解,是由于抽象类引起的。抽象类不能被直接引用,所以出了一个InstantiationException异常。
比如<bean id="abstractjob" class="cn.ncs.test.job.AbstractJob" >,
默认情况下<bean>下有个值叫abstract他默认情况下false,当我们在做SPRING POJO的时候要注意这点,抽象类的映射绝对要将abstract设置为true:
比如<bean id="abstractjob" class="cn.ncs.test.job.AbstractJob" abstract="true">
而且该引用绝对不能用于注入,只能用于其子类做继承用,如下:
<bean id="zerojob" class="cn.ncs.test.job.ZeroJob" parent="abstractjob">