@Test @SuppressWarnings("unchecked") public void testCreateQueryWithStatelessSession() { String sqlQuery = "select * from T_FOOS"; hibernateQueryProvider.setSqlQuery(sqlQuery); StatelessSession session = mock(StatelessSession.class); NativeQuery<Foo> query = mock(NativeQuery.class); when(session.createNativeQuery(sqlQuery)).thenReturn(query); when(query.addEntity(Foo.class)).thenReturn(query); hibernateQueryProvider.setStatelessSession(session); assertNotNull(hibernateQueryProvider.createQuery()); }
/** * <p> * Create an {@link NativeQuery} from the session provided (preferring * stateless if both are available). * </p> */ @Override @SuppressWarnings("unchecked") public NativeQuery<E> createQuery() { if (isStatelessSession()) { return getStatelessSession().createNativeQuery(sqlQuery).addEntity(entityClass); } else { return getStatefulSession().createNativeQuery(sqlQuery).addEntity(entityClass); } }
@Test @TestForIssue(jiraKey = "HHH-12141") public void testInsertInStatelessSession() throws Exception { doInHibernate( this::sessionFactory, session -> { session.doWork( connection -> { StatelessSession sls = sessionFactory().openStatelessSession( connection ); NativeQuery q = sls.createNativeQuery( "INSERT INTO TEST_ENTITY (ID,SIMPLE_ATTRIBUTE) values (1,'red')" ); q.executeUpdate(); } ); } ); }
/** * <p> * Create an {@link NativeQuery} from the session provided (preferring * stateless if both are available). * </p> */ @Override @SuppressWarnings("unchecked") public NativeQuery<E> createQuery() { if (isStatelessSession()) { return getStatelessSession().createNativeQuery(sqlQuery).addEntity(entityClass); } else { return getStatefulSession().createNativeQuery(sqlQuery).addEntity(entityClass); } }