关于JPA cascade = CascadeType.PERSIST级联保存的笔记

来源:互联网 发布:手机足球关注软件 编辑:程序博客网 时间:2024/04/30 14:48

代码块

Goods实体:

@Entity@Getter@Setterpublic class Goods {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Long id;    /**     * 名称     */    private String title;}

User实体:

@Entity@Getter@Setter@Table(name = "User")public class User {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Long id;    @ManyToOne(cascade = CascadeType.PERSIST)    private Goods goods;}

Repository:

@Repositorypublic interface UserRepository extends JpaRepository<User,Long> {}

Controller:

    @RequestMapping("/testPERSIST")    public String testPERSIST() throws Exception{        User user=new User();        Goods goods=new Goods();        goods.setTitle("testPERSIST");        user.setGoods(goods);        userRepository.save(user);        return "index";    }

测试

当我执行Controller代码的时候数据库内会保存User实体和Goods实体,有了

cascade = CascadeType.PERSIST

就不需要先保存Goods实体,只要保存User实体,Goods实体就会被级联保存。

0 0