5

我有一个简单的 JPA 映射,但我不断收到Could not determine type for异常。省略了 Setter 和 getter。

@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)]

4

1 回答 1

11

您需要在命令上使用 OneToOne 或 ManyToOne 注释(取决于实际基数):

@ManyToOne
private SupervisionCommand command;

字段的默认映射是@Column. 而且 Hibernate 不知道使用哪种类型的列(varchar?数字?)来存储 SuperVisionCommand 实例。如果它实现了 Serializable,Hibernate 会将其序列化并将其存储在 BLOB 列中,但这不是您想要的。

于 2013-08-22T08:58:26.463 回答