一下午,解决了两个问题。。。。。
先列上这两个真是Bug的问题:
1、数据库有个表book,里面有个字段 create_time Datetime类型的字段,这个字段是 not null 的。下午下代码往数据库里插入数据时,总是提示,create_time 字段为空,可是调试时,明明对象里有create_time 这个字段啊。那么,问题来:要插入的对象里明明有 create_time 这个字段,可是为什么提问这个字段总是为空呢?然后就摆弄了半天,把数据库这个字段改为允许空之后,能插入进入;新建个空项目,Hibernate框架下导入这个表及相关类时,将 Timestamp 类型改为 Date 类型后,运行堪称完美。然后就比对类文件及映射文件,关于create_time 的地方没有什么不对的地方,好像一切都正常。后来看到了 getCreateTime() 方法里用到了 getDate() 这个方法。 getDate()代码如下:
再上张图
原来是将一个Date 类型存到了Map 对象里,那么取得时候取到的是Object 对象,然后就琢磨怎么把 Object 类型转换为 Date类型,对,就是在百度上找到的:把Object转换为字符串,然后在解析就行了。真是。。。。。。。。。。。。。
不过,也真够笨的,居然,忘了强制转换。Object是所有类的基类,怎么就不能强制转换呢。学艺不精,好好努力。
还有一个问题: 写了一个实现了Map接口的类,是这么实现putAll 方法的
@Override
public void putAll(Map map)
{
map.putAll(map);
}
然后下午调用这个方法时,发现这个方法执行没效果。。。。
后来,后来,也不知道从哪看到,需要这么写:
这是为啥呢???????