package org.tests.model.prnt; import io.ebean.BaseTestCase; import io.ebean.Ebean; import org.junit.Test; public class TestPrinterStateIssue extends BaseTestCase { @Test public void test() { MSomeOther other = new MSomeOther(); other.setName("otherRefBean"); Ebean.save(other); MPrinter printer = new MPrinter(); printer.setDataWarehouseId(other); printer.setName("foo"); printer.setAllFlags(20L); Ebean.save(printer); MPrinterState state = new MPrinterState(); state.setDataWarehouseId(other); state.setFlags(10L); state.setPrinter(printer); Ebean.save(state); MPrinterState cyanState = new MPrinterState(); cyanState.setDataWarehouseId(other); cyanState.setFlags(10L); cyanState.setPrinter(printer); Ebean.save(state); printer.setCurrentState(state); printer.setLastTonerSwapCyan(cyanState); Ebean.save(printer); MPrinterState newState = new MPrinterState(); newState.setDataWarehouseId(other); newState.setFlags(10L); //Ebean.save(newState); printer.setLastTonerSwapCyan(newState); newState.setPrinter(printer); Ebean.save(printer); MPrinter printer1 = Ebean.find(MPrinter.class, printer.getId()); MPrinterState state1 = printer1.getCurrentState(); state1.setFlags(9L); printer1.setAllFlags(99L); state1.setFlags(7L); // BeanState beanState = Ebean.getBeanState(printer1); // Set<String> changedProps = beanState.getChangedProps(); // System.out.println("changed: "+changedProps); Ebean.save(printer1); } }