Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa 双向一通多通/多通不';行不通_Jpa - Fatal编程技术网

Jpa 双向一通多通/多通不';行不通

Jpa 双向一通多通/多通不';行不通,jpa,Jpa,我的问题是,将父实体集合添加到子实体不会在拥有方设置外键。有人能给我一些提示吗?我做错了什么 // Entity Class: Paket @OneToMany(mappedBy = "paket", cascade = CascadeType.ALL, targetEntity = Komponente.class, fetch = FetchType.EAGER) private List<Komponente> komponenten; public void

我的问题是,将父实体集合添加到子实体不会在拥有方设置外键。有人能给我一些提示吗?我做错了什么

// Entity Class: Paket
@OneToMany(mappedBy = "paket", cascade = CascadeType.ALL, targetEntity = Komponente.class, fetch = FetchType.EAGER)
    private List<Komponente> komponenten;

    public void setKomponenten(List<Komponente> komponenten) {
        this.komponenten = komponenten;
    }

    public List<Komponente> getKomponenten() {
        return komponenten;
    }

// Entity Class: Komponente
@ManyToOne()
private Paket paket;

// Using EJB -> Excerpt from abstract service class
@Transactional
    public T edit(T entity) throws OptimisticLockException {
        try {
            T myEntity = getEntityManager().merge(entity);
            getEntityManager().flush();
            return myEntity;
        } catch (OptimisticLockException ex) {
            throw ex;
        }

        //System.out.println("Entity Merged: " + entity);
    }

// Performing merge
Paket p = this.paketFacade.find(new Long(1));
p.setKomponenten(komponenteInSelectedPaketList);
this.selectedPaket = this.paketFacade.edit(p);
//实体类:Paket
@OneToMany(mappedBy=“paket”,cascade=CascadeType.ALL,targetEntity=Komponente.class,fetch=FetchType.EAGER)
私人名单komponenten;
公共无效setKomponenten(列表komponenten){
this.komponenten=komponenten;
}
公共列表getKomponenten(){
返回komponenten;
}
//实体类:Komponente
@ManyToOne()
私人小包;
//使用EJB->从抽象服务类摘录
@交易的
公共T编辑(T实体)抛出OptimisticLockException{
试一试{
T myEntity=getEntityManager().merge(实体);
getEntityManager().flush();
回归自我;
}捕获(OptimisticLockException ex){
掷骰子;
}
//System.out.println(“实体合并:+实体”);
}
//执行合并
paketp=this.paketFacade.find(new Long(1));
p、 setKomponenten(komponentenselectedpaketlist);
this.selectedPaket=this.paketFacade.edit(p);

设置komponent的包装。否则不设置拥有方,对于Hibernate,这意味着关联不存在。@我不需要迭代每个Komponente实体并设置paket吗?是的,必须这样做that@JB我才意识到。非常感谢你。