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(); }

    }

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

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

  • 相关阅读:
    ES6 Symbol数据类型和set-map 数据结构
    ES6的字符串和数值的扩展
    获取当前的网络状态
    节流阀
    stellar.js 视差滚动
    h5新增标签及css3新增属性
    vue中使用mui滑动条无法正常滑动
    用css3画有边框的三角形
    多个选项选中某一个的效果(用到siblings()方法)
    消除移动端按钮或者输入框等点击时出现边框
  • 原文地址:https://www.cnblogs.com/Believer/p/5622208.html
Copyright © 2011-2022 走看看