Обновление таблицы в избранном операторе

Решение, которое я нашел для этой проблемы, к сожалению, может не иметь ничего общего с Джексоном или Джерси. Как кто-то сказал: «Это так ненужно, сбивает с толку и затрудняет выяснение того, для чего фактически используется». На мой вопрос я не поделился всей длиной 174 зависимости pom.xml, поэтому никто не смог бы ответить на этот вопрос. Я надеюсь, что кто-то найдет это полезным, хотя.

Когда я добавил @XmlTransient в поле, это не имело положительного значения. Когда я добавил его в геттер и поле, я смог скрыть analyticsActivity от созданного JSON. Я не проверял, насколько эффективно добавление @XmlTransient к одному геттеру.

import javax.xml.bind.annotation.XmlTransient;

@Entity
@Table(name = "PAGE")
@XmlRootElement
public class Page implements Serializable {

    //... Id and other fields here

    @XmlTransient
    @OneToMany(fetch = LAZY, mappedBy = "page")
    private Set<Activity> analyticsActivity;

    @XmlTransient
    public Set<TmptREPDeskAnalytics> getAnalyticsActivity() {
        return analyticsActivity;
    }
}
5
задан Per Stilling 13 February 2009 в 13:31
поделиться

2 ответа

Если Ваша цель состоит в том, чтобы обновить tbl2 каждый раз, когда Вы запрашиваете tbl1, то лучший способ сделать, который должен создать хранимую процедуру, чтобы сделать это и перенести его в транзакцию, возможно изменив уровни изоляции, если атомарность необходима.

Вы не можете вложить обновления в выборах.

4
ответ дан 14 December 2019 в 19:27
поделиться

Какие результаты Вы хотите? Результаты выбора, или обновления.

Если Вы хотите обновить на основе результатов запроса, можно сделать это как это:

update table1 set value1 = x.value1 from (select value1, id from table2 where value1 = something)  as x where id = x.id
1
ответ дан 14 December 2019 в 19:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: