Как каскадировать, если дочерняя сущность не вставлена, иначе нет каскадирования - PullRequest
0 голосов
/ 19 сентября 2011

В настоящее время мы используем фреймворк для шва. И у нас есть небольшие проблемы с аннотированием сущностей. У нас есть объект 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;
        }
}

Вариант использования; у нас есть значения по умолчанию для маркировки сделок. Пользователь ищет тег по автозаполнению ввода. Если нет совпадения, он / она печатает собственный бесплатный тег. Когда он / она сохраняет сущность Deal, сущность Tag будет сохранена, если в БД не хранится тег, иначе ссылка на сохраненную сущность тега будет иметь дело с объектом.

Можем ли мы комментировать объекты, которые соответствуют этому варианту использования? Или все о бизнес-логике?

1 Ответ

0 голосов
/ 19 сентября 2011

AFAIK, нет прямого способа использовать такой каскад.Вам необходимо назначить сущность, которая имеет правильный идентификатор, путем ее поиска или создания новой, которая получает идентификатор, но не является каскадным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...