引起:org.hibernate.MappingException:无法确定类型:Employees [org.hibernate.mapping.Column(employees)]

时间:2013-07-04 12:46:11

标签: spring hibernate jpa junit jpa-2.0

我正在使用 Hibernate 4.1.0.Final Spring 3.1.1

当我进行junit测试时,我收到以下异常

Caused by: org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'sessionFactory' defined in class path resource [spring-  
context.xml]:     Invocation of init method failed; nested exception is 
org.hibernate.MappingException: Could not determine type for: 
test.entity.Employees,at table: PROJECT, for columns: 
[org.hibernate.mapping.Column(employees)]

项目实体类

@Entity
@Table(name = "PROJECT")
public class Project {
@OneToOne
@JoinColumn(name="EMP_NUMBER")
private Employees employees;
.....

员工实体类

@Entity
@Table(name = "EMPLOYEES")
public class Employees {
private String employeeNo;

@Id
@Column(name = "EMP_NUMBER")
public String getEmployeeNo() {
        return employeeNo;
    }
public void setEmployeeNo(String employeeNo) {
        this.employeeNo = employeeNo;
    }

Junit

import static org.junit.Assert.*;

import org.junit.Test;
import org.junit.runner.RunWith; 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;


@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations="classpath:spring-context.xml")
@TransactionConfiguration(defaultRollback=true,transactionManager="transactionManager")
public class ProjectTest {

    @Autowired
    private ProjectDAO projectDAO; 

    @Test 
    public void testProjectId() { 
    Project project = projectDAO.findProjectId(1L);
    assertNotNull(project); 
    } 
}

1 个答案:

答案 0 :(得分:1)

This blog可能会帮助您设置单向@OneToOne关联!