0

由于这个问题,我在 Hibernate 3.6.x 中发现了一个在 4.1.8 中解决的错误。我通过从 common/lib 中删除休眠库并替换为新库来“升级”了我的 JBoss 6.1。

更具体地说,我确实删除了:

  • hibernate-commons-annotations.jar(替换为 hibernate-commons-annotations-4.0.1.Final.jar)

  • hibernate-core.jar(由 hibernate-core-4.1.8.Final.jar 替换)

  • hibernate-entitymanager.jar(替换为 hibernate-entitymanager-4.1.8.Final.jar)

  • hibernate-jpa-2.0-api.jar(替换为 hibernate-jpa-2.0-api-1.0.1.Final.jar)

我确实保留了hibernate-validator.jarhibernate-validator-legacy.jar因为我没有找到可能的替代品。

现在,服务器启动时没有抱怨,但是当它尝试使用属性映射实体时,它试图在 SQLServer 2008boolean中创建一个字段(它使用 type ),导致这些表没有创建。不过,没有属性的表确实可以正常工作。booleanbitboolean

我做错了什么?我persistence.xml在升级之前运行良好的那个没有改变,我没有找到对新 SQLServer 方言的引用,所以我假设我的升级过程很糟糕,我遗漏了一些东西。有什么建议么?

仅作记录,我在 Hibernate 和 SQL Server Express 2008 之上使用 JBoss6.1、JPA2.0。

提前致谢。

4

1 回答 1

2

在布尔字段的注释中,尝试指定一个columnDefinition.

@Column(name="IS_APPROVED", columnDefinition="bit")
private boolean isApproved;
于 2012-12-05T15:11:00.520 回答