如何在Java中修复java.lang.ClassCastException

时间:2017-04-04 10:40:37

标签: hibernate casting classcastexception

我使用hibernate的3.x版本,并且我有一个从父对象Y继承的对象X.我有另一个对象Z,它与对象X的关系如下X OneToMany Z。因此,对象Z将包含对象X。

我读了很多问题,但它没有回答我的问题。

在我的XHTML中,我在下拉列表中选择了X对象,并检索其id以加载对象,并在我的bean中检索此ID以加载X对象,通过插入具有空值的对象X来完成插入。当我尝试通过调用我的服务显示对象是否已恢复时,会出现此错误

An Error Occurred:

java.lang.ClassCastException: ma.controle.gestion.modele.Parent_$$_javassist_6 cannot be cast to ma.controle.gestion.modele.Activite

这是父对象(Y)

@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="TYPE_OBJET")
@DiscriminatorValue("PARENT")
public class Parent implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue
private Long idt_parent;
private String nom;
private String description;
// Getters Setters
}

这是继承自Y(X)

的Object
@Entity
@DiscriminatorValue("ACTIVITE")
public class Activite extends Parent implements Serializable {

private static final long serialVersionUID = 1L;

private String code_sa;

// The mapping of the object Z

@OneToMany(mappedBy="activite",cascade=CascadeType.REMOVE,  orphanRemoval = true)
private Collection<Affectation_Activite> affectation_Activites;

// Getters , setters and construct

}

这是模型(对象Z)

@Entity
public class Affectation_Activite implements Serializable{

/**
 * 
 */
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue
private Long idt_affectation_activite;
private Date dateDebut;
private Date dateFin;


@ManyToOne
@JoinColumn(name="idt_parent")
private Activite activite;


// Getters, setters and construct 
}

这是我的bean的保存

public void save(ActionListener e){




    Activite activite=(Activite)parentService.findParentById(idt_parent);


    System.out.println("Activite nom ====> " + activite .getNom() + " et la description" + activite.getDescription() );

    affectationActivite.setActivite(activite);

    affectationActiviteService.addAffectation(affectationActivite);


}

1 个答案:

答案 0 :(得分:0)

解决方案:我认为这是因为当您使用父服务时,它将返回一个没有Active类值的新父级。您应该使用Active服务

与@ Ronce96相关