private Criteria getCriteria(Session s) { Criteria crit = s.createCriteria( A.class, "anAlias" ); crit.add( Restrictions.naturalId().set( "name", "name1" ) ); crit.setFlushMode( FlushMode.COMMIT ); crit.setCacheable( true ); return crit; }
@TestForIssue(jiraKey = "HHH-9333") @Test public void testNaturalIdCriteria() { Session s = openSession(); s.beginTransaction(); A u = new A(new AId(1), "testCode" ); s.persist( u ); s.getTransaction().commit(); s.close(); s = openSession(); s.beginTransaction(); u = ( A ) s.createCriteria( A.class ) .add( Restrictions.naturalId().set( "shortCode", "testCode" ) ) .uniqueResult(); assertNotNull( u ); s.getTransaction().commit(); s.close(); s = openSession(); s.beginTransaction(); s.createQuery( "delete A" ).executeUpdate(); s.getTransaction().commit(); s.close(); }
@Test public void testNaturalIdCriteria() { Session s = openSession(); s.beginTransaction(); Account u = new Account(new AccountId(1), "testAcct" ); s.persist( u ); s.getTransaction().commit(); s.close(); s = openSession(); s.beginTransaction(); u = ( Account ) s.createCriteria( Account.class ) .add( Restrictions.naturalId().set( "shortCode", "testAcct" ) ) .setCacheable( true ) .uniqueResult(); assertNotNull( u ); s.getTransaction().commit(); s.close(); s = openSession(); s.beginTransaction(); s.createQuery( "delete Account" ).executeUpdate(); s.getTransaction().commit(); s.close(); }
s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult(); s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult(); s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult();
s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult(); s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult(); s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult();
s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult(); s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult();
s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult(); s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult(); assertEquals( 0, sessionFactory().getStatistics().getNaturalIdCacheHitCount() );//0: no stats since hbm.xml can't enable NaturalId caching u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult();
s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult(); s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult();
s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult(); s.beginTransaction(); u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult(); assertEquals( 0, sessionFactory().getStatistics().getNaturalIdCacheHitCount() ); //1: no stats since hbm.xml can't enable NaturalId caching u = ( User ) s.createCriteria( User.class ) .add( Restrictions.naturalId().set( "userName", "steve" ) ) .setCacheable( true ) .uniqueResult();
tx = s.beginTransaction(); Criteria criteria = s.createCriteria( NaturalIdOnManyToOne.class ); criteria.add( Restrictions.naturalId().set( "citizen", c1 ) ); criteria.setCacheable( true );
@SuppressWarnings("unchecked") public static void removeEmptyEntries(String bundle) { List<MessageBundleEntry> entries = getSession().createCriteria(MessageBundleEntry.class) .setCacheable(true) .setCacheRegion("messages") .add(Restrictions.sizeLe("messages", 1)) .add(Restrictions.naturalId() .set("bundle", bundle)) .list(); for (MessageBundleEntry entry : entries) { entry.delete(); } }
private void getCitizenWithCriteria(SessionFactory sf) throws Exception { withTxSession(sf, s -> { State france = getState(s, "Ile de France"); Criteria criteria = s.createCriteria( Citizen.class ); criteria.add( Restrictions.naturalId().set( "ssn", "1234" ).set( "state", france ) ); criteria.setCacheable( true ); criteria.list(); }); }
private void deleteCitizenWithCriteria(SessionFactory sf) throws Exception { withTxSession(sf, s -> { State france = getState(s, "Ile de France"); Criteria criteria = s.createCriteria( Citizen.class ); criteria.add( Restrictions.naturalId().set( "ssn", "1234" ).set( "state", france ) ); criteria.setCacheable( true ); Citizen c = (Citizen) criteria.uniqueResult(); s.delete(c); }); }