Я хотел бы узнать, в чем разница между CascadeType и FetchType в Hibernate?CascadeType vs FetchType
Они кажутся очень похожими, но я думаю, они не взаимозаменяемы, так? Когда их использовать? Могут ли они использоваться одновременно?
Я хотел бы узнать, в чем разница между CascadeType и FetchType в Hibernate?CascadeType vs FetchType
Они кажутся очень похожими, но я думаю, они не взаимозаменяемы, так? Когда их использовать? Могут ли они использоваться одновременно?
Это 2 разные вещи:
CascadeType
в Hib. может быть REFRESH
, MERGE
, ..., ALL
вы помещаете его под связанный объект и определяет поведение связанного объекта, если текущий объект: обновлен, обновлен, удален и т. д. Поэтому всякий раз, CascadeType
указывает, должен ли быть затронут связанный объект.
FetchType
может быть только 2: EAGER
и LAZY
. Этот, который вы также разместили в связанном объекте и , определяет, должен ли соответствующий объект быть инициализирован сразу после инициализации текущего объекта (EAGER
) или только по запросу (LAZY
).
В частности, это относится не только к Hibernate, но JPA вообще (согласно JSR338). Doc: http://download.oracle.com/otn-pub/jcp/persistence-2_1-fr-eval-spec/JavaPersistence.pdf?AuthParam=1508489100_12b9c9f1827b7c7734914284a141af08 –
Cascading Используется для распространения entity state transitions с родительской сущности ребенку.
Fetching используется для загрузки ассоциированных сущностей, и вы можете иметь:
Оба являются разными конфигурациями, вы можете связать их с простым SQL.
Каскад говорит вам, что происходит, когда один объект обновляется (при удалении каскада в SQL)
Fetch рассказывает, как запрос будет выполнен (присоединиться, ленивым ...)
Там большая разница между ними.
Вы можете узнать больше о них:
делает мой ответ вам помочь? если да, пожалуйста, примите/голосуйте. –
@jarosik если так, примите/голосуйте. – ozgur
Эти два очень разные. См. Стр. 89 для FetchType. Для каскадирования см. Раздел 3.2 (стр. 80) http://download.oracle.com/otn-pub/jcp/persistence-2_1-fr-eval-spec/JavaPersistence.pdf?AuthParam=1508489100_12b9c9f1827b7c7734914284a141af08 –