Hibernate не может создать объединенную таблицу подклассов при использовании аннотации - PullRequest
1 голос
/ 14 апреля 2011

Я новичок в 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 Ответ

1 голос
/ 14 апреля 2011

Ваши аннотации кажутся правильными, поэтому: существует ли таблица 'crm_staff'?Вы создали базу данных с этой таблицей или (если hibernate должен создать ее при запуске теста) вы установили hibernate.hbm2ddl.auto для создания-отбрасывания?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...