I agree with Christian, the FetchMode should only influence the how and not the when of a fetch.
If the association is EAGER and annotated with FetchMode.SELECT then it should be loaded immediately using a secondary select. On Thu, 7 Jan 2021 at 10:31, Christian Beikov <christian.bei...@gmail.com> wrote: > I agree that this should be supported. Specifying a fetch mode should > IMO not change the fetch type to LAZY or EAGER. > > Am 06.01.2021 um 04:50 schrieb Gail Badner: > > Should it be possible to force an eager association to be loaded by a > > separate query using @Fetch(FetchMode.SELECT)? > > > > I thought that Hibernate supported that for an EAGER association, but I > see > > the documentation for FetchMode.SELECT > > < > https://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html#fetching-fetch-annotation > > > > says: > > > > "SELECT > > The association is going to be fetched lazily using a secondary select > for > > each individual entity, collection, or join load. It’s equivalent to > > JPA FetchType.LAZY fetching strategy." > > > > The reason I ask is because I am trying to wrap up HHH-13085, which will > > change derived IDs mapped as a one-to-one association, currently loaded > by > > a separate query, to instead be loaded in the same query that loads the > > dependent entity. I want to ensure that it is possible to revert back to > > loading that one-to-one association in a separate query after HHH-13085 > is > > fixed. > > > > Currently, a StackOverflowError is thrown when loading an entity with an > ID > > that is an bidirectional eager one-to-one association has > FetchMode.SELECT > > mapped. > > > > @Entity(name = "Foo")public class Foo implements Serializable { > > > > @Id > > @GeneratedValue > > private Long id; > > > > @OneToOne(mappedBy = "foo", cascade = CascadeType.ALL) > > private Bar bar; > > } > > > > @Entity(name = "Bar")public class Bar implements Serializable { > > @Id > > @OneToOne(fetch = FetchType.EAGER) > > @Fetch(FetchMode.SELECT) > > @JoinColumn(name = "BAR_ID") > > private Foo foo; > > } > > > > > > According to the documentation, it sounds like @Fetch(FetchMode.SELECT) > > should make the association lazy. Is that really correct? > > > > Could someone please clarify the expected behavior? > > > > I created HHH-14390 <https://hibernate.atlassian.net/browse/HHH-14390> > for > > the StackOverflowError. I've pushed some FailureExpected tests > > < > https://github.com/hibernate/hibernate-orm/commit/b40d1251e385a5fdb018f9583a83c472d6da4e8f > > > > that reproduce this issue. > > > > Thanks, > > Gail > > _______________________________________________ > > hibernate-dev mailing list -- hibernate-dev@lists.jboss.org > > To unsubscribe send an email to hibernate-dev-le...@lists.jboss.org > > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s > _______________________________________________ > hibernate-dev mailing list -- hibernate-dev@lists.jboss.org > To unsubscribe send an email to hibernate-dev-le...@lists.jboss.org > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s _______________________________________________ hibernate-dev mailing list -- hibernate-dev@lists.jboss.org To unsubscribe send an email to hibernate-dev-le...@lists.jboss.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s