Hibernate,(netbeans 7.1.2,maven)无法使用ElementCollection属性

Hibernate,(netbeans 7.1.2,maven)无法使用ElementCollection属性,hibernate,maven,netbeans,netbeans-7,entitycollection,Hibernate,Maven,Netbeans,Netbeans 7,Entitycollection,my SQL数据库有一个“Item”表。每个“项目”可以有许多备选标签。它们存储在另一个名为“ItemAltLabel”的表中。外键是“ItemID” 我试图在java中将其表示为一个实体,该实体具有一组字符串替换标签 我的财产如下所示: @ElementCollection @CollectionTable(name="ItemAltLabel", joinColumns=@JoinColumn(name="ItemID")) @Column(name="Label") private Set

my SQL数据库有一个“Item”表。每个“项目”可以有许多备选标签。它们存储在另一个名为“ItemAltLabel”的表中。外键是“ItemID”

我试图在java中将其表示为一个实体,该实体具有一组字符串替换标签

我的财产如下所示:

@ElementCollection
@CollectionTable(name="ItemAltLabel", joinColumns=@JoinColumn(name="ItemID"))
@Column(name="Label")
private Set<String> alternateLabels;
@ElementCollection
@CollectionTable(name=“ItemAltLabel”,joinColumns=@JoinColumn(name=“ItemID”))
@列(name=“Label”)
私人设置备用标签;
这应该是正确的吗

我得到的错误是:

org.springframework.beans.factory.BeanCreationException:错误 创建名为“entityBroker”的bean:自动连线的注入 依赖关系失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法 autowire字段:受保护的org.hibernate.SessionFactory com.porism.dao.BaseBroker.sessionFactory;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 正在创建在ServletContext中定义的名为“sessionFactory”的bean resource[/WEB-INF/SpringMVCServlet.xml]:初始化方法的调用 失败;嵌套异常为org.hibernate.MappingException:无法 确定以下列的类型:java.util.Set: [org.hibernate.mapping.Column(Label)]

我发现了这篇文章,它表明这是我正在使用的hibernate版本中的一个bug:

“如果您在类似情况下遇到此错误,原因是您的Hibernate实现中存在错误,您应该使用更新的错误(我建议使用3.5.3-Final或更高版本)。”

我的pom文件引用了3个hibernate依赖项:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate</artifactId>
  <version>3.2.5.ga</version>
</dependency>
<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-entitymanager</artifactId>
  <version>3.3.2.GA</version>
</dependency>
<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>3.3.2.GA</version>
</dependency>

org.hibernate
拒绝:连接超时:
连接->[帮助1]

如果我删除hibernate 3.5.3-Final上的依赖项,其他两个依赖项将成功下载。项目建设;但出现了一个新的错误:

org.springframework.beans.factory.BeanCreationException:错误 创建名为“entityBroker”的bean:自动连线的注入 依赖关系失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法 autowire字段:受保护的org.hibernate.SessionFactory com.porism.dao.BaseBroker.sessionFactory;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 正在创建在ServletContext中定义的名为“sessionFactory”的bean resource[/WEB-INF/SpringMVCServlet.xml]:初始化方法的调用 失败;嵌套异常为java.lang.NoClassDefFoundError:无法 初始化类org.hibernate.cfg.AnnotationConfiguration

我正在使用NetBeans 7.1.2和maven

正如你可能知道的,我被交给了一个项目,而我一点也不知道自己在做什么。任何帮助都将不胜感激


我曾尝试升级到hibernate 4,但这导致了一系列问题,我更愿意保持尽可能接近我使用的版本。

不确定org.hibernate:hibernate依赖项应该指什么。但这肯定不是我们(Hibernate团队)生产的罐子


您可以只指定org.hibernate:hibernate entitymanager依赖项。它实际上会以传递的方式引入org.hibernate:hibernate核心。这些都应该升级到3.5+

谢谢您的帮助。我发现org.hibernate:hibernate是一个pom文件,需要一个pom。我还必须向org.slf4j添加一个依赖项:slf4j-log4j12(1.5.0)