使用注释时,Hibernate无法创建连接的子类表

时间:2011-04-14 10:13:17

标签: java database hibernate annotations joined-subclass

我是Hibernate的新手,在使用Hibernate注释时无法创建连接的子类表。

这是我的代码。

这是主要的课程。

@Entity
@Table(name="CRM_User")
@Inheritance(strategy=InheritanceType.JOINED)
public class UserImp extends BaseModel implements IUser, Serializable
{
  ... ...

Staff类扩展了User类。

@Entity
@Table(name="CRM_Staff") 
@PrimaryKeyJoinColumn(name="Id")
public class StaffImp extends UserImp implements IStaff, Serializable
{
  ... ...   

当我运行单元测试时,我得到了错误。

/* Test get all User */
@Test
public void testGetAllUser()
{
    List<IUser> users = (List<IUser>) this.userDAO.getAll("UserImp");
    assertEquals(2, users.size());
}

这是错误。

......
19:31:04,880  INFO SchemaExport:281 - schema export complete
19:31:04,918  INFO DefaultTraversableResolver:81 - Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.
19:31:05,158  WARN JDBCExceptionReporter:233 - SQL Error: 1146, SQLState: 42S02
19:31:05,158 ERROR JDBCExceptionReporter:234 - Table 'test.crm_staff' doesn't exist  
... ...

非常感谢!

1 个答案:

答案 0 :(得分:1)

您的注释似乎是正确的:表'crm_staff'是否存在? 您是否使用此表创建了数据库,或者(如果hibernate在运行测试时应创建此数据库)您是否将hibernate.hbm2ddl.auto设置为create-drop?