Added the following test in the file org.hibernate.orm.test.inheritance.discriminator.SingleTableInheritancePersistTest
@Test public void testFetchChildrenCountTwiceFails(SessionFactoryScope scope) { scope.inTransaction( session -> { QueryImplementor<Long> query = session.createQuery("SELECT count(p) FROM Person p WHERE TYPE(p) = ?1", Long.class); query.setParameter(1, Child.class); Long personCount = query.getSingleResult(); assertThat( personCount, is( 2L ) ); query = session.createQuery("SELECT count(p) FROM Person p WHERE TYPE(p) = ?1", Long.class); query.setParameter(1, Child.class); personCount = query.getSingleResult(); assertThat( personCount, is( 2L ) ); } ); }