对SQLServer使用JBoss 6.1中的Hibernate 4.1.8时出错
结果,我在Hibernate 3.6.x中发现了一个bug,该bug在4.1.8中得到了解决。我已经“升级”了JBoss6.1,从common/lib中删除了hibernate库,并替换为新库 更具体地说,我确实删除了:对SQLServer使用JBoss 6.1中的Hibernate 4.1.8时出错,hibernate,jpa-2.0,jboss6.x,Hibernate,Jpa 2.0,Jboss6.x,结果,我在Hibernate 3.6.x中发现了一个bug,该bug在4.1.8中得到了解决。我已经“升级”了JBoss6.1,从common/lib中删除了hibernate库,并替换为新库 更具体地说,我确实删除了: hibernate-commons-annotations.jar(替换为hibernate-commons-annotations-4.0.1.Final.jar) hibernate-core.jar(替换为hibernate-core-4.1.8.Final.jar)
- 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.jar
和hibernate validator legacy.jar
,因为我没有找到可能的替代品
现在,服务器毫无怨言地启动,但当它尝试映射具有布尔属性的实体时,它正在尝试在SQLServer2008中创建布尔属性字段(它使用类型位),导致这些表未被创建。但是,没有boolean
属性的表确实可以正常工作
我做错了什么?我的persistence.xml
在升级之前运行良好,但它没有被更改,而且我也没有找到新的SQLServer方言的引用,因此我假设我的升级过程是拙劣的,我遗漏了一些东西。有什么建议吗
为了记录在案,我在Hibernate和SQLServerExpress 2008之上使用JBoss6.1、JPA2.0
提前感谢。在布尔字段的注释中,尝试指定列定义
@Column(name="IS_APPROVED", columnDefinition="bit")
private boolean isApproved;
好的,这已经成功了,谢谢(到目前为止,我只能测试表的创建过程)。无论如何,我认为这是一个解决办法;由于此解决方案在代码中将我的应用程序绑定到SQLServer,因此我失去了JPA的一些优势。在接受这个答案之前,我会等待一个更“标准”的答案(如果有的话)。@Sjuan76也许你会得到一个更好的答案,但知道有解决方案总是很好的。祝你好运!我想我会尝试迁移到JBoss7.1