我正试图实现一个简单的连接操作与我的两个表,使用hibernate 3注释与spring3 mvc。
我有两个表:
<标题>员工CREATE TABLE IF NOT EXISTS `employee` (`enter code here`
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`address1` varchar(100) NOT NULL,
`address2` varchar(100) NOT NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
<标题>工资h1> 创建了两个带注释的模态类:
<标题> Employee.java h1> Salary.java h1> 我打开一个页面时,我得到以下错误org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/spring-servlet.xml]:
Invocation of init method failed; nested exception is org.hibernate.MappingException:
Could not determine type for: java.util.Set, at table: EMPLOYEE, for columns:
[org.hibernate.mapping.Column(salaries)]
我的模态类有什么问题吗
非常感谢帮助,谢谢,VKS改进
标题>标题>标题>工资的Set
是一个原始类型,hibernate不知道如何将其与一个实体"映射"。尝试将targetEntity
添加到@oneToMany
或使用Set<Salary>
我不是专家,但是我们不需要告诉hibernate SET的类型应该是什么吗?因为在这种情况下,在我看来,我们告诉hibernate SET表示一对多关系,但是与哪个表呢??
在*.hbm.xml映射文件中,我猜"table"属性是用于此目的的。
。
<set cascade="persist, merge, save-update, evict, replicate, lock, refresh" name="Salaries" inverse="true" lazy="true" table="salary">
<key>
//code goes here
</key>
<one-to-many class="Salary" />
</set>