Hibernate @ManyToOne only works with CascadeType.ALL

前端 未结 2 1527
心在旅途
心在旅途 2020-12-16 20:57

I am using Hibernate 3.3.1 and i would like to create a relation between persons and an assigned company. They should be loosely coupled, but i would like to arrange to crea

2条回答
  •  余生分开走
    2020-12-16 21:22

    i don't feel the mappings are right

    class Company
    {
    @Id
    Long companyId;
    String name;
    @OneToMany(fetch = FetchType.LAZY,mappedBy="company"
    @Cascade({CascadeType.SAVE_UPDATE})
    List persons;
    }
    
    class Person
    {
    @Id
    Long personId;
    String name;
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name="company_id")
    Company company;
    }
    

    Set like this now

    Company c=new Company();
    List plist=new ArrayList<>();
    Person p=new Person();
    p.setCompany(c);
    plist.add(p);
    c.setPersons(plist);
    dao.save(c);    
    

提交回复
热议问题