【发布时间】:2013-05-28 12:03:25
【问题描述】:
我在 jpa 中实现继承时遇到问题。我有以下实体:
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Person implements Serializable{
private String name;
private String }
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class User extends Person {
private String salary;}
public class chef extends User{}
我希望所有实体都是具体的,这是正确的还是我应该改变一些东西?
【问题讨论】:
-
好像没问题,你的问题是什么?
-
我想在表 chef 中插入一个存在于表 user 中的用户: User chef = new Chef(); chef = (User) dao.trouverPersonneParId("mark"); dao.ajout_createur(厨师);但我有这个错误:java.lang.ClassCastException: com.pfe.domaine.User cannot be cast to com.pfe.domaine.Chef
-
你能发布关于你的 dao 的代码吗?似乎在某些时候有从
User到Chef的演员表,这就是为什么我想看看你在做什么,看看我能不能帮你。 -
here is my DAO : public void ajout_createur(User d) { em.getTransaction().begin(); em.persist(((Chef) d)); em.getTransaction().commit(); System.out.println(" CHEF ADDED!"); } -
在这种情况下,您是否验证过对象
d的类型确实是Chef?Chef类是否也映射为实体? (我在Chef类中没有看到该实体配置?
标签: inheritance jpa eclipselink