0

我们目前正在使用接缝框架。我们在注释实体时遇到了一些麻烦。我们有一个 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;
        }
}

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

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

4

1 回答 1

0

AFAIK 没有像这样使用级联的直接方法。您需要分配一个具有正确 id 的实体,方法是查找它或创建一个获取 id 但未级联的新实体。

于 2011-09-19T07:54:23.743 回答