当前位置:   article > 正文

Spring Boot 集成Hibernate: 外键关系_java springboot hibernate 外键

java springboot hibernate 外键

一对多 vs 多对一

一个存钱罐有很多零钱对吧?

//存钱罐
@Entity
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class Pod {
    @Id
    @GeneratedValue
    private Long id;

    // 一个存钱罐有很多零钱
    @OneToMany(cascade = CascadeType.ALL,mappedBy = "pod")
    @JsonManagedReference  //少的一方管理映射,将在测试结果中看出
    private List<Coin> coins;
}
//零钱
@Entity
public class Coin {
    @Id
    @GeneratedValue
    private Long id;

    @ManyToOne  
    //@JoinColumn  //抑制ORM建造多余表
    @JsonBackReference  //设置少的一方管理集合,属性名于mappedBy相对应
    private Pod pod;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

还是老规矩写两个Repository,此处省略。

@RestController
@RequestMapping("/pod")
public class ForeignKeyController {

    @Autowired
    PodRepository podRepository;

    @Autowired
    CoinRepository coinRepository;

    @GetMapping("/getPod/{podId}")
    public Pod podInfo(@PathVariable long podId){
        return podRepository.getOne(podId);
    }

    @PostMapping("/addPod")
    public String addPod(@RequestBody Pod pod){
        podRepository.save(pod);
        return "add pod success";
    }

    @PostMapping("/addCoin")
    public String addCoin(@RequestBody Coin coin){
        coinRepository.save(coin);
        return "add coin";
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

测试:

//添加一个存钱罐
POST localhost:8080/pod/addPod
{
}

POST localhost:8080/pod/addCoin
{
	"pod":{ "id": 11}
}

GET localhost:8080/pod/getPod/11
{
    "id": 11,
    "coins": [
        {
            "id": 14
        }
    ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/1009392
推荐阅读
相关标签
  

闽ICP备14008679号