2012-07-17 37 views
0

我绝不是一个hibernate专业人员,但我确实了解正在发生的一些事情。这是我的问题。出于某种原因,上周我们的构建引入了一个错误,即hibernate正在寻找我们在一个月前从数据库和代码中删除的列。我完全不知道为什么它寻找这个和堆栈痕迹比公牛上的山雀更无用。有没有人看到过这样的问题?如果是的话你是如何解决它的?Hibernate寻找一个不存在的列

+0

您的构建可以使用旧的依赖关系吗? – bvulaj 2012-07-17 19:44:33

+0

可能,但我似乎无法追查到它的位置。我将如何解决这个问题? – 2012-07-17 19:53:12

+1

您是使用hibernate注释还是映射文件?什么是失败?项目本身的单元测试?已经说项目是依赖项目的项目中的功能? – bvulaj 2012-07-17 19:59:28

回答

0

有时候,Hibernate正在寻找一个默认的列名,即使你没有明确地把列名放入你的注释中。

也许你可以在你的hibernate.properties文件把这些选项上:

hibernate.hbm2ddl.auto=create 
hibernate.show_sql=true 

...并寻找在生成的DDL的故障的主列。然后你会得到关于哪个实体/实体关系导致你麻烦的提示。

+0

我不确定默认列名是什么意思,但我无法找到hibernate.properties文件。即使我可以,我也不确定它会有帮助。我知道它在寻找什么专栏......我无法弄清楚它为什么在寻找它,或者如何使它停止。该列不再存在于代码中,也不存在注释。这让我非常困惑。 – 2012-07-18 16:29:53

0

我怀疑你使用的jar的旧副本。 如果您的功能测试针对服务器运行,而不是删除服务器的临时文件夹。 尝试在此jar的新副本上运行单元测试。只为这个班级尝试一个简单的单元测试。 反编译jar以查看您是否使用刷新副本。

+0

说实话,我们从战争文件中进行部署来测试,并且每天更新。我确实尝试过,但没有骰子。 – 2012-07-18 16:27:27