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