如果没有插入子实体,如何级联,否则没有级联



我们目前使用的是seam框架。我们在注释实体时遇到了一点麻烦。我们有一个Deal实体,它有一个Tag实体子实体。我们对实体的注释如下:

@Entity
public class Deal implements Serializable {

        private Tag tag;

        @ManyToOne
        public Tag getTag() {
            return tag;
        }
        public void setTag(Tag tag) {
            this.tag = tag;
        }
}

标签实体就像;

    @Entity
    @Table(uniqueConstraints = { @UniqueConstraint(columnNames = "label") })
    public class Tag implements Serializable {
        private String label;
        public void setLabel(String tagLabel) {
            this.label = tagLabel;
        }
        public String getLabel() {
            return label;
        }
}

用例是;我们有默认值来标记交易。用户通过自动补全输入框搜索标签。如果没有匹配,他/她输入自己的免费标签。当他/她持久化交易实体时,如果数据库中没有存储的标签,则持久化标签实体,否则引用存储的标签实体到交易实体。

我们可以注释符合这个用例的实体吗?还是全部关于业务逻辑?

恐怕没有这样直接使用级联的方法。您需要分配一个具有正确id的实体,要么通过查找它,要么通过创建一个获取id但没有级联的新实体。

相关内容

  • 没有找到相关文章

最新更新