Java 使用具有save(this)方法的子类扩展@Entity Anotated类

Java 使用具有save(this)方法的子类扩展@Entity Anotated类,java,database,hibernate,persistence,Java,Database,Hibernate,Persistence,我不知道Hibernate是否可以这样实现…………例如,我有下面的类 @Entity public class Employee implements Serializable{ private String name; private int age; private String gender; ........ ........Getters and setters also } 为了在数据库中保存employee对象,我可以这样扩展这个类吗 public clas

我不知道Hibernate是否可以这样实现…………例如,我有下面的类

@Entity
public class Employee implements Serializable{

  private String name;
  private int age;
  private String gender;
  ........
  ........Getters and setters also
}
为了在数据库中保存employee对象,我可以这样扩展这个类吗

public class EmployeeDataObject extends Employee{
  public boolean save()
  {
       SessionFactory sessionFac = NewHibernateUtil.getSessionFactory();
    Session session = sessionFac.openSession();
    try {
        session.beginTransaction();
        session.save(this);
        session.getTransaction().commit();
        session.close();
        return true;
    } catch (Exception ex) {
        ex.printStackTrace();
        session.getTransaction().rollback();
        session.close();
        return false;
    }
  }
}

我认为这在技术上是可以做到的。看起来您想要实现某种类型的。我认为一个好的、符合JPA的ActiveRecord实现将是非常棒的

有几个项目试图实现这一目标。您可能想看看其中的一些:

  • -它采用不同的继承方法(实体派生自类似DAO的抽象类)。然而,可用的实现是非常基本的,项目看起来被放弃了

  • -更完整地实施活动记录,但根本不符合JPA


我不确定你能把这个想法与现实相比走多远。Java的静态类型和编译时泛型可能很快就会妨碍您的工作,但是godspeed:)

您的意思是说它是否可以在技术上完成,或者这是否是一个好的解决方案?@kostja Both………..@jb nizet我只是想从技术角度解释一下………>>谢谢您的及时回复