Example usage for org.hibernate.cache.spi.entry CacheEntry getDisassembledState

List of usage examples for org.hibernate.cache.spi.entry CacheEntry getDisassembledState

Introduction

In this page you can find the example usage for org.hibernate.cache.spi.entry CacheEntry getDisassembledState.

Prototype

Serializable[] getDisassembledState();

Source Link

Document

Get the underlying disassembled state todo : this was added to support initializing an entity's EntityEntry snapshot during reattach; this should be refactored to instead expose a method to assemble a EntityEntry based on this state for return.

Usage

From source file:com.hazelcast.hibernate.serialization.Hibernate42CacheEntrySerializer.java

License:Open Source License

private static void writeDisassembled(ObjectDataOutput out, CacheEntry object) throws IOException {

    Serializable[] disassembledState = object.getDisassembledState();
    out.writeInt(disassembledState.length);
    for (Serializable state : disassembledState) {
        out.writeObject(state);/*from w  w  w. j  av  a2  s  .  c  o  m*/
    }

    out.writeUTF(object.getSubclass());
    out.writeBoolean(object.areLazyPropertiesUnfetched());
    out.writeObject(object.getVersion());

}

From source file:com.hazelcast.hibernate.serialization.Hibernate51CacheEntrySerializer.java

License:Open Source License

private static void writeDisassembled(final ObjectDataOutput out, final CacheEntry object) throws IOException {

    Serializable[] disassembledState = object.getDisassembledState();
    out.writeInt(disassembledState.length);
    for (Serializable state : disassembledState) {
        out.writeObject(state);/*from   w ww  . j  a va 2 s.c  om*/
    }

    out.writeUTF(object.getSubclass());
    out.writeObject(object.getVersion());
}

From source file:com.hazelcast.hibernate.serialization.Hibernate5CacheEntrySerializer.java

License:Open Source License

private static void writeDisassembled(final ObjectDataOutput out, final CacheEntry object) throws IOException {

    Serializable[] disassembledState = object.getDisassembledState();
    out.writeInt(disassembledState.length);
    for (Serializable state : disassembledState) {
        out.writeObject(state);/*from   www  .  j a  va2s  .c om*/
    }

    out.writeUTF(object.getSubclass());
    out.writeBoolean(object.areLazyPropertiesUnfetched());
    out.writeObject(object.getVersion());
}

From source file:org.infinispan.test.hibernate.cache.commons.functional.ReadWriteTest.java

License:LGPL

@Test
public void testQueryCacheInvalidation() throws Exception {
    Statistics stats = sessionFactory().getStatistics();
    stats.clear();//from   ww w .  j  a va2 s  .c  om

    SecondLevelCacheStatistics slcs = stats.getSecondLevelCacheStatistics(Item.class.getName());
    sessionFactory().getCache().evictEntityRegion(Item.class.getName());

    TIME_SERVICE.advance(1);

    assertEquals(0, slcs.getPutCount());
    assertEquals(0, slcs.getElementCountInMemory());
    assertEquals(0, getNumberOfItems());

    ByRef<Long> idRef = new ByRef<>(null);
    withTxSession(s -> {
        Item item = new Item();
        item.setName("widget");
        item.setDescription("A really top-quality, full-featured widget.");
        s.persist(item);
        idRef.set(item.getId());
    });

    assertEquals(1, slcs.getPutCount());
    assertEquals(1, slcs.getElementCountInMemory());
    assertEquals(1, getNumberOfItems());

    withTxSession(s -> {
        Item item = s.get(Item.class, idRef.get());
        assertEquals(slcs.getHitCount(), 1);
        assertEquals(slcs.getMissCount(), 0);
        item.setDescription("A bog standard item");
    });

    assertEquals(slcs.getPutCount(), 2);

    CacheEntry entry = getEntry(Item.class.getName(), idRef.get());
    Serializable[] ser = entry.getDisassembledState();
    assertTrue(ser[0].equals("widget"));
    assertTrue(ser[1].equals("A bog standard item"));

    withTxSession(s -> {
        Item item = s.load(Item.class, idRef.get());
        s.delete(item);
    });
}

From source file:org.infinispan.test.hibernate.cache.functional.ReadWriteTest.java

License:LGPL

@Test
public void testQueryCacheInvalidation() throws Exception {
    Statistics stats = sessionFactory().getStatistics();
    stats.clear();//ww w  . j a v a  2 s.  c  o  m

    SecondLevelCacheStatistics slcs = stats.getSecondLevelCacheStatistics(Item.class.getName());
    sessionFactory().getCache().evictEntityRegion(Item.class.getName());

    TIME_SERVICE.advance(1);

    assertEquals(0, slcs.getPutCount());
    assertEquals(0, slcs.getElementCountInMemory());
    assertEquals(0, slcs.getEntries().size());

    ByRef<Long> idRef = new ByRef<>(null);
    withTxSession(s -> {
        Item item = new Item();
        item.setName("widget");
        item.setDescription("A really top-quality, full-featured widget.");
        s.persist(item);
        idRef.set(item.getId());
    });

    assertEquals(1, slcs.getPutCount());
    assertEquals(1, slcs.getElementCountInMemory());
    assertEquals(1, slcs.getEntries().size());

    withTxSession(s -> {
        Item item = s.get(Item.class, idRef.get());
        assertEquals(slcs.getHitCount(), 1);
        assertEquals(slcs.getMissCount(), 0);
        item.setDescription("A bog standard item");
    });

    assertEquals(slcs.getPutCount(), 2);

    CacheEntry entry = (CacheEntry) slcs.getEntries().get(idRef.get());
    Serializable[] ser = entry.getDisassembledState();
    assertTrue(ser[0].equals("widget"));
    assertTrue(ser[1].equals("A bog standard item"));

    withTxSession(s -> {
        Item item = s.load(Item.class, idRef.get());
        s.delete(item);
    });
}