Я пытаюсь построить схему db с Oracle и JPA. Я новичок в JPA, я всегда работал непосредственно с sql. Что мне нужно сделать, это две таблицы: первая, содержащая текущие вызовы VOIP, а другая - история этих вызовов. Две таблицы идентичны. В JPA я писал:JPA Cast Exception
@Entity
@Table(name = "voip_currentCalls")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class VoipCurrentCall implements Serializable {
private static final long serialVersionUID = 1L;
protected CompositeID id;
protected Timestamp startTime;
protected Timestamp endTime;
protected String calledNumber;
protected String callingNumber;
protected Person contact;
protected CallSource source;
protected CallStatus status;
protected CallType type;
protected CallStage stage;
@Entity
@Table(name = "voip_historyCalls")
public class VoipHistoryCall extends VoipCurrentCall implements Serializable {
...
Как вы можете видеть, что вторая таблица не имеет никаких других полей, но это просто и проходит из первого. , когда я пытаюсь использовать VoipCurrentCall для VoipHistoryCall, я получаю java.lang.ClassCastException: VoipCurrentCall нельзя передать в VoipHistoryCall.
Есть ли у вас какие-либо предложения? Вероятно, я что-то пропустил. Спасибо всем заранее!
Вы не можете отличить суперкласс к подклассу. –