2013-08-22 2 views
2

У меня есть простое сопоставление JPA, но я продолжаю получать исключение Could not determine type for. Сеттеры и геттеры опущены.Наследование JPA Не удалось определить тип для

@Entity 
@Inheritance(strategy = InheritanceType.JOINED) 
public class SupervisionCommand { 

    @Id 
    @GeneratedValue 
    protected Long id; 

} 

@Entity 
public class MySupervisionCommand extends SupervisionCommand { 

} 

@Entity 
public class Job { 

    @Id 
    @GeneratedValue 
    private Long id; 

    private SupervisionCommand command; 

} 

Полное сообщение об исключении: Could not determine type for: com.family.model.SupervisionCommand, at table: job, for columns: [org.hibernate.mapping.Column(command)]

ответ

7

Вам нужен OneToOne или ManyToOne аннотацию (в зависимости от фактической мощности) по команде:

@ManyToOne 
private SupervisionCommand command; 

отображение по умолчанию для полей @Column. И Hibernate не знает, какой тип столбца использовать (varchar? Number?) Для хранения экземпляра SuperVisionCommand. Если он будет реализован Serializable, Hibernate будет сериализовать его и сохранить в столбце BLOB, но это не то, что вы хотите.

Смежные вопросы