首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate -1类2表

Hibernate -1类2表
EN

Stack Overflow用户
提问于 2018-04-09 12:43:54
回答 1查看 35关注 0票数 0

我有一个简单的表,我也想将它们存储在另一个表中(创建一个历史性的用户)。让我们称它为用户。我创建了一个与用户完全相同的表(只有不同的id名),名为HISTORY_Users。

所以我创建了这个表,现在我意识到我为一个对象创建了两个表。那么,如何只将对象添加到hist表中呢?

我不想同时添加它们。只有当用户删除帐户时,我才想将用户添加到hist中。

我使用Hibernate和xml映射

代码语言:javascript
复制
 //when the user deletes the account I call this function and pass the User
  private static void addToHist(User User) {
      //how do I add only to HIST_Users table??
      Database.addToDatabase(user);

}


 //Save the object to the database
public static void addToDatabase(Object object) {
    SessionFactory factory = HibernateUtil.GetSessionFactory();
    Session session = factory.openSession();
    Transaction tx = null;
    try{
        tx = session.beginTransaction();
        session.save(object);
        tx.commit();
    }catch (HibernateException e) {
        if (tx!=null) tx.rollback();
        e.printStackTrace();
    }finally {
        session.close();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-04-09 12:52:34

也许更好的解决方案是使用Hibernate Envers:http://hibernate.org/orm/envers/

您可以在要将其放入历史记录中时进行配置:在创建、更新或删除时。

表是自动创建的,您只需要添加一些注释,比如@Audited等等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49733284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档