说来挺奇怪,在同样的环境下,可以创建任何一张新的表,但就是有一张表不能被自动创建.
model基本属性如下:
public class MSM extends IDEntity{
private Admin from;
private Admin to;
private String title;
private Boolean read;
private Boolean fromDel;
private Date createTime;
// 以下为getter,setter方法,都是自动生成,不可能会有错
}
对应的映射文件如下(只列出关键的部分代码):
<property column="TITLE" length="50" name="title"/> <property column="READ" name="read"/> <property column="FROM_DEL" name="fromDel"/> <property column="TO_DEL" name="toDel"/> <property column="CONTENT" name="content" type="text"/>
其它配置均无任何问题,但就是不能自动创建表,实验了多种办法,包括重新写model和映射文件,都无济于事.
最后仔细查看了一个映射文件当中的每一个属性,发现其中有一个属性如下:
<property column="READ" name="read"/>
当我将这个属性去掉后,发现居然又能自动创建表了,真是奇怪,也没找到什么别的参考文档,猜想这可能和数据库有关,也许这个值是数据库的一个关键字吧.
特此记下来,希望有类似的经历的朋友,看到后注意一下这个地方.
注:我的数据库使用MYSQL