如何在JPA中删除未分配的实体?

时间:2018-05-25 20:35:46

标签: jpa entitymanager

我有一个包含Tag和Item等实体的数据库。一个项目可能有许多标签,一个标签可以分配给许多项目,因此@ManyToMany关系:

public function users()
{
    return $this->morphedByMany('App\Models\User', 'assignmentable');
}

public function teams()
{
    return $this->morphedByMany('App\Models\Team', 'assignmentable');
}

我想要做的是在.xhtml页面上从基于数据库的相应复选框选项中删除标签。我尝试的第一种方法是:

assignment_allocation

仅当所有selectedTags都未分配给任何Item时才有效。在其他情况下,方法崩溃并且没有删除任何内容,所以我尝试了这种解决方法:

assignmentables

但是,它也不起作用。任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

为什么if... else ...条件?您想删除Tag,无论Item是否使用for (Tag tag : selectedTags) { Tag persistentTag = em.find(Tag.class, tag.getId()); for (Item item : is.findByTag(persistentTag)) { item.getTags().remove(persistentTag); } em.remove(persistentTag); } 。请尝试以下代码:

For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
    Range("Q" & i).Value = Instr(Range("A" & i).Value2, "@")
Next