@Test public void testReadOnlyDelete() { clearCounts(); Session s = openSession(); Transaction t = s.beginTransaction(); DataPoint dp = new DataPoint(); dp.setX( new BigDecimal(0.1d).setScale(19, BigDecimal.ROUND_DOWN) ); dp.setY( new BigDecimal( Math.cos( dp.getX().doubleValue() ) ).setScale(19, BigDecimal.ROUND_DOWN) ); s.save(dp); t.commit(); s.close(); assertInsertCount( 1 ); assertUpdateCount( 0 ); clearCounts(); s = openSession(); t = s.beginTransaction(); dp = ( DataPoint ) s.get( DataPoint.class, dp.getId() ); s.setReadOnly( dp, true ); s.delete( dp ); t.commit(); s.close(); assertUpdateCount( 0 ); assertDeleteCount( 1 ); s = openSession(); t = s.beginTransaction(); List list = s.createQuery("from DataPoint where description='done!'").list(); assertTrue( list.isEmpty() ); t.commit(); s.close(); }
t = s.beginTransaction(); dp = ( DataPoint ) s.get( DataPoint.class, dp.getId() ); s.setReadOnly( dp, true ); dp.setDescription( "a DataPoint" ); s.delete( dp );
DataPoint dp = (DataPoint) sr.get(0); if (++i==50) { s.setReadOnly(dp, false);
node = ( VersionedNode ) s.get( VersionedNode.class, node.getId() ); node.setName( "node-name" ); s.setReadOnly( node, true ); s.setReadOnly( node, true ); s.getTransaction().commit(); s.close(); assertEquals( "node", node.getName() ); assertEquals( 0, node.getVersion() ); s.setReadOnly( node, true ); s.delete( node ); s.getTransaction().commit();
@Test public void testReadOnlyDelete() { DataPoint dpOrig = createDataPoint( CacheMode.IGNORE ); Session s = openSession(); s.setCacheMode(CacheMode.IGNORE); s.beginTransaction(); DataPoint dp = ( DataPoint ) s.load( DataPoint.class, new Long( dpOrig.getId() ) ); assertTrue( dp instanceof HibernateProxy ); checkReadOnly( s, dp, false ); s.setReadOnly( dp, true ); checkReadOnly( s, dp,true ); assertFalse( Hibernate.isInitialized( dp )); s.delete( dp ); s.flush(); s.getTransaction().commit(); s.close(); s = openSession(); s.beginTransaction(); dp = ( DataPoint ) s.get( DataPoint.class, dpOrig.getId() ); assertNull( dp ); s.getTransaction().commit(); s.close(); }
@Test @FailureExpected( jiraKey = "unknown" ) public void testSetReadOnlyUpdateSetModifiable() throws Exception { Session s = openSession(); s.beginTransaction(); VersionedNode node = new VersionedNode( "node", "node" ); s.persist( node ); s.getTransaction().commit(); s.close(); clearCounts(); s = openSession(); s.beginTransaction(); node = ( VersionedNode ) s.get( VersionedNode.class, node.getId() ); s.setReadOnly( node, true ); node.setName( "node-name" ); s.setReadOnly( node, false ); s.getTransaction().commit(); s.close(); assertUpdateCount( 1 ); assertInsertCount( 0 ); s = openSession(); s.beginTransaction(); node = ( VersionedNode ) s.get( VersionedNode.class, node.getId() ); assertEquals( "node-name", node.getName() ); assertEquals( 1, node.getVersion() ); s.delete( node ); s.getTransaction().commit(); s.close(); }
@Test @FailureExpected( jiraKey = "unknown" ) public void testUpdateSetReadOnlySetModifiable() throws Exception { Session s = openSession(); s.beginTransaction(); VersionedNode node = new VersionedNode( "node", "node" ); s.persist( node ); s.getTransaction().commit(); s.close(); clearCounts(); s = openSession(); s.beginTransaction(); node = ( VersionedNode ) s.get( VersionedNode.class, node.getId() ); node.setName( "node-name" ); s.setReadOnly( node, true ); s.setReadOnly( node, false ); s.getTransaction().commit(); s.close(); assertUpdateCount( 1 ); assertInsertCount( 0 ); s = openSession(); s.beginTransaction(); node = ( VersionedNode ) s.get( VersionedNode.class, node.getId() ); assertEquals( "node-name", node.getName() ); assertEquals( 1, node.getVersion() ); s.delete( node ); s.getTransaction().commit(); s.close(); }
node = ( VersionedNode ) s.get( VersionedNode.class, node.getId() ); node.setName( "node-name" ); s.setReadOnly( node, false ); s.getTransaction().commit(); s.close(); assertEquals( "node-name", node.getName() ); assertEquals( 1, node.getVersion() ); s.setReadOnly( node, true ); s.delete( node ); s.getTransaction().commit();
@Test public void testSetReadOnlyAfterSessionClosed() { DataPoint dpOrig = createDataPoint( CacheMode.IGNORE ); Session s = openSession(); s.setCacheMode(CacheMode.IGNORE); s.beginTransaction(); DataPoint dp = ( DataPoint ) s.load( DataPoint.class, new Long( dpOrig.getId() ) ); assertTrue( dp instanceof HibernateProxy ); assertFalse( Hibernate.isInitialized( dp ) ); checkReadOnly( s, dp, false ); s.getTransaction().commit(); s.close(); try { s.setReadOnly( dp, true ); fail( "should have failed because session was closed" ); } catch ( IllegalStateException ex) { // expected assertFalse( ( ( HibernateProxy ) dp ).getHibernateLazyInitializer().isReadOnlySettingAvailable() ); } finally { s = openSession(); s.beginTransaction(); s.delete( dp ); s.getTransaction().commit(); s.close(); } }
s.beginTransaction(); VersionedNode parentManaged = ( VersionedNode ) s.get( VersionedNode.class, parent.getId() ); s.setReadOnly( parentManaged, true ); parentManaged.setName( "new parent name" ); VersionedNode child = new VersionedNode( "child", "child");
s.beginTransaction(); VersionedNode childManaged = ( VersionedNode ) s.get( VersionedNode.class, child.getId() ); s.setReadOnly( childManaged, true ); childManaged.setName( "new child name" ); VersionedNode parent = new VersionedNode( "parent", "parent"); parent = ( VersionedNode ) s.get( VersionedNode.class, parent.getId() ); assertNotNull( parent ); s.setReadOnly( child, true ); s.delete( child ); s.getTransaction().commit();
assertTrue( dp instanceof HibernateProxy ); checkReadOnly( s, dp, false ); s.setReadOnly( dp, true ); checkReadOnly( s, dp,true ); s.setReadOnly( dp, false ); checkReadOnly( s, dp, false ); assertFalse( Hibernate.isInitialized( dp ));
@Test public void testReadOnlyViaSessionBeforeInit() { DataPoint dpOrig = createDataPoint( CacheMode.IGNORE ); Session s = openSession(); s.setCacheMode(CacheMode.IGNORE); s.beginTransaction(); DataPoint dp = ( DataPoint ) s.load( DataPoint.class, new Long( dpOrig.getId() ) ); assertTrue( dp instanceof HibernateProxy ); s.setReadOnly( dp, true ); dp.setDescription( "changed" ); assertTrue( Hibernate.isInitialized( dp ) ); assertEquals( "changed", dp.getDescription() ); checkReadOnly( s, dp, true ); s.flush(); s.getTransaction().commit(); s.close(); s = openSession(); s.beginTransaction(); dp = ( DataPoint ) s.get( DataPoint.class, dpOrig.getId() ); assertEquals( dpOrig.getId(), dp.getId() ); assertEquals( dpOrig.getDescription(), dp.getDescription() ); assertEquals( dpOrig.getX(), dp.getX() ); assertEquals( dpOrig.getY(), dp.getY() ); s.delete( dp ); s.getTransaction().commit(); s.close(); }
assertTrue( dp instanceof HibernateProxy ); checkReadOnly( s, dp, false ); s.setReadOnly( dp, true ); checkReadOnly( s, dp,true ); assertFalse( Hibernate.isInitialized( dp )); assertTrue( Hibernate.isInitialized( dp )); checkReadOnly( s, dp,true ); s.setReadOnly( dp, false ); checkReadOnly( s, dp, false ); dp.setDescription( "changed" );
checkReadOnly( s, dp, false ); assertFalse( Hibernate.isInitialized( dp ) ); s.setReadOnly( dp, true ); checkReadOnly( s, dp, true ); assertFalse( Hibernate.isInitialized( dp ) ); s.setReadOnly( dp, false ); checkReadOnly( s, dp, false ); assertFalse( Hibernate.isInitialized( dp ) );
assertFalse( Hibernate.isInitialized( dp ) ); checkReadOnly( s, dp, false ); s.setReadOnly( dp, true ); checkReadOnly( s, dp, true ); DataPoint dpFromQuery = ( DataPoint ) s.createQuery( "from DataPoint where id=" + dpOrig.getId() ).setReadOnly( true ).uniqueResult();
assertTrue( dp instanceof HibernateProxy ); checkReadOnly( s, dp, false ); s.setReadOnly( dp, true ); checkReadOnly( s, dp,true ); assertFalse( Hibernate.isInitialized( dp ));
@Test public void testDetachedSetReadOnlyAfterEvictViaSession() { DataPoint dpOrig = createDataPoint( CacheMode.IGNORE ); Session s = openSession(); s.setCacheMode(CacheMode.IGNORE); s.beginTransaction(); DataPoint dp = ( DataPoint ) s.load( DataPoint.class, new Long( dpOrig.getId() ) ); assertTrue( dp instanceof HibernateProxy ); assertFalse( Hibernate.isInitialized( dp ) ); checkReadOnly( s, dp, false ); assertTrue( s.contains( dp ) ); s.evict( dp ); assertFalse( s.contains( dp ) ); assertNull( ( ( HibernateProxy ) dp ).getHibernateLazyInitializer().getSession() ); try { s.setReadOnly( dp, true ); fail( "should have failed because proxy was detached" ); } catch ( TransientObjectException ex) { // expected assertFalse( ( ( HibernateProxy ) dp ).getHibernateLazyInitializer().isReadOnlySettingAvailable() ); } finally { s.delete( dp ); s.getTransaction().commit(); s.close(); } }
assertFalse( Hibernate.isInitialized( dp )); checkReadOnly( s, dp, false ); s.setReadOnly( dp, true ); checkReadOnly( s, dp,true ); dp.setDescription( "changed" );
assertFalse( Hibernate.isInitialized( dp ) ); checkReadOnly( s, dp, false ); s.setReadOnly( dp, true ); assertFalse( Hibernate.isInitialized( dp ) ); checkReadOnly( s, dp, true );