私はhibernateのバージョン3.xを使用しています。親オブジェクトYから継承するオブジェクトXを持っています。オブジェクトXとの関係を持つ別のオブジェクトZを持っています。 X OneToMany Z
に従います。したがって、オブジェクトZにはオブジェクトXが含まれます。Javaでjava.lang.ClassCastExceptionを修正する方法
私は多くの質問を読んでいますが、私の問題には答えません。
私のXHTMLでは、ドロップダウンでXオブジェクトを選択し、オブジェクトをロードするためにそのIDを取得し、私のBeanでこのIDを取得してXオブジェクトをロードすると、挿入はnull値のオブジェクトXを挿入することによって行われます。私は、オブジェクトが、このエラーはここで親オブジェクト(Y)がある
An Error Occurred:
java.lang.ClassCastException: ma.controle.gestion.modele.Parent_$$_javassist_6 cannot be cast to ma.controle.gestion.modele.Activite
を表示されます私のサービスを呼び出すことによって回収された場合に表示しようとすると、
@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から継承オブジェクトがありますここ)
@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
}
はmodele(物体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
}
あります10
そして、ここでは私の豆の保存
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);
}
にアクティブなサービスを使用する必要があります。あなたは代わりにアクティブなサービスを使用する必要があります – ronce96
@ ronce96 urの応答に感謝しますが、私はそれぞれの息子のために自分のサービスを作成する必要がありますか?それは良い方法ですか? –
findParentById()メソッドの実装を投稿できますか? – ronce96