zoukankan      html  css  js  c++  java
  • hibernate 级联操作

    级联:当你存储一个表的内容想值得相关联的表也存储数据时,可以通过级联来实现(cascade) @Entity @Table(name="t_User") public class User { private int id; private String name; private Grup grup; @ManyToOne(cascade={CascadeType.ALL}) //all:意为级联全部,牵一发而动全身,只要是其中一个表进行数据库操作,另一个也会跟着进行操作 public Grup getGrup() { return grup; } public void setGrup(Grup string) { this.grup = string; } @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public User(int id, String name) { super(); this.id = id; this.name = name; } public User() { } }

    test单元测试:按道理,可以分别存储user和grup的内容,但是结果不是这样的,grup的内容是空值,这时级联就登上表演舞台 public class ManyToOneTest { @Test public void testSaveUser() { User u = new User(); u.setName("Judy"); Grup g =new Grup(); g.setName("Linda"); u.setGrup(g);; @SuppressWarnings("deprecation") SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); Session session =sessionFactory.getCurrentSession(); session.beginTransaction(); session.save(u); session.getTransaction().commit(); }

    }

    由结果可知,数据已经插入到对应的表中

    注意:级联只是可以让写程序的人在操作过程中较为省事,但是并非必需要用到,如果想要把多表的数据内容分先后顺序,完全可以手动存储,不用级联操作。

  • 相关阅读:
    深(爆)搜专题整理
    牛客CSP-S提高组赛前集训营1 T2:乃爱与城市拥挤程度
    [BZOJ3743][Coci2015]Kamp 题解
    CSP2019-S,J初赛游记
    指针复习
    二叉树复习
    最短路复习
    数据库关联查询与模型之间的关联
    数据库操作Flask-SQLAlchemy之模型声明及数据库表的生成与删除
    csrf攻击防范
  • 原文地址:https://www.cnblogs.com/Believer/p/5622208.html
Copyright © 2011-2022 走看看