问题描述
|
我是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
... ...
非常感谢!
解决方法
您的注释似乎是正确的,因此:表\'crm_staff \'是否存在?
您是否使用此表创建了一个数据库,或者(如果在运行测试时休眠状态应创建该数据库)您是否将
hibernate.hbm2ddl.auto
设置为create-drop?