Решение, которое я нашел для этой проблемы, к сожалению, может не иметь ничего общего с Джексоном или Джерси. Как кто-то сказал: «Это так ненужно, сбивает с толку и затрудняет выяснение того, для чего фактически используется». На мой вопрос я не поделился всей длиной 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;
}
}
Если Ваша цель состоит в том, чтобы обновить tbl2 каждый раз, когда Вы запрашиваете tbl1, то лучший способ сделать, который должен создать хранимую процедуру, чтобы сделать это и перенести его в транзакцию, возможно изменив уровни изоляции, если атомарность необходима.
Вы не можете вложить обновления в выборах.
Какие результаты Вы хотите? Результаты выбора, или обновления.
Если Вы хотите обновить на основе результатов запроса, можно сделать это как это:
update table1 set value1 = x.value1 from (select value1, id from table2 where value1 = something) as x where id = x.id