我有一个应用程序,它使用hibernate为HSQLdb生成表(因为我的应用程序仍在开发中)。在我的域模型中,我设置了
@Basic
@Column(name = "about", length = 10)
private String about;
当我使用DBVisualizer打开我的数据库时,我可以看到除了它不工作之外,一切都设置得很好。我的列接受的值远远超过10个字符长。当我尝试在DBVisualier中手动运行查询时,它会失败,但hibernate允许它运行。
同样非常奇怪的是,当我使用文件(而不是内存中的数据库)来查看数据库结构,并指向DBVisualizer时,它以某种方式断开了连接,因此从那一刻起,我从Hibernate中所做的更改就不可见了。一切仍然有效。我只是在DBVisualizeer中看不到这些更改,但在应用程序中可以。
有人知道这种奇怪的行为吗?
为大家欢呼
更新
休眠配置
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="hibernate.connection.url">jdbc:hsqldb:mem:test</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="hbm2ddl.auto">create</property>
<property name="sql.enforce_strict_size">true</property>