我已在Eclipse Ganymede中安装了Hibernate Tools 3.2.4.GA。 安装它的主要驱动程序是能够交互式地发出HQL查询。
我已配置所有映射文件、hibernate.properties等,并显示出我们所有的实体和映射,并能从数据库读取表格列表。但它似乎没有使用我在配置中指定的自定义命名策略,因此我无法查询任何内容。动态SQL预览中的查询除了表名外是正确的。
我配置命名策略的方式是右键单击Hibernate配置,然后选择“编辑配置”。在“选项”选项卡中,我“浏览”命名策略。Eclipse能够找到命名策略并为我自动完成,这表明它在类路径中。然后我点击“确定”,但仍然存在问题。
我在Hibernate Tools(现在是JBoss Tools)的命名策略配置中是否漏掉了某些东西,还是它已经损坏了?
另外,是否有其他工具(在或不在Eclipse中)可以用来对我的数据库发出HQL语句并查看结果?
更新:问题出在NamingStrategy实现上。它在每个表格前面添加一个字符串,并将驼峰命名改为所有小写带下划线。不幸的是,在该实现中,该字符串是通过Spring注入的,并且没有默认设置。在Hibernate Tools中,Spring注入并没有发生,因为没有默认值,所以该字符串为空。现在它已更改为具有默认值(与我们当前的Spring配置匹配),现在它可以工作了。
我已配置所有映射文件、hibernate.properties等,并显示出我们所有的实体和映射,并能从数据库读取表格列表。但它似乎没有使用我在配置中指定的自定义命名策略,因此我无法查询任何内容。动态SQL预览中的查询除了表名外是正确的。
我配置命名策略的方式是右键单击Hibernate配置,然后选择“编辑配置”。在“选项”选项卡中,我“浏览”命名策略。Eclipse能够找到命名策略并为我自动完成,这表明它在类路径中。然后我点击“确定”,但仍然存在问题。
我在Hibernate Tools(现在是JBoss Tools)的命名策略配置中是否漏掉了某些东西,还是它已经损坏了?
另外,是否有其他工具(在或不在Eclipse中)可以用来对我的数据库发出HQL语句并查看结果?
更新:问题出在NamingStrategy实现上。它在每个表格前面添加一个字符串,并将驼峰命名改为所有小写带下划线。不幸的是,在该实现中,该字符串是通过Spring注入的,并且没有默认设置。在Hibernate Tools中,Spring注入并没有发生,因为没有默认值,所以该字符串为空。现在它已更改为具有默认值(与我们当前的Spring配置匹配),现在它可以工作了。