我不知道Hibernate是否可以通过这种方式实现..........例如,我有以下类............
@Entity
public class Employee implements Serializable{
private String name;
private int age;
private String gender;
........
........Getters and setters also
}
我可以像这样扩展这个类,以便在数据库中保存一个雇员对象
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;
}
}
}
答案 0 :(得分:1)
我认为它可以在技术上完成。看起来你想实现某种Active Record。我认为一个好的,符合JPA标准的Active Record实现会非常棒。
有几个项目试图实现这一目标。您可能想看看其中一些:
hiverecord - 它采用不同的继承方法(实体派生自类似DAO的抽象类)。但是,可用的实现非常基础,项目看起来已经放弃了。
ActiveJDBC - 更完整的Active Record实现,但完全不符合JPA标准。
与ruby implementation相比,我不确定你能想到多远。 Java的静态类型和编译时泛型可能会很快就会以你的方式出现,但是速度很快:)