public void testUpdateObjectPassengerWithMany2OneFlight() {
    log.debug("\n\n--------testUpdateObjectPassengerWithMany2OneFlight()---------------\n\n");
    Flight flight = new Flight();
    flight.setDestination("destination");
    Passanger passanger = new Passanger();
    passanger.setName("name");
    passanger.setFlight(flight);

    save(flight);
    save(passanger); // inverse=false

    Flight updateFlight =
        (Flight) getObjectAndLazyObject(Flight.class, flight.getId(), "passangerCollection");
    Collection<Passanger> updatePassengers = updateFlight.getPassangerCollection();
    updateFlight.setDestination("updateDestination");
    updatePassengers.iterator().next().setName("updatePassenger");

    update(updateFlight); // cascade -- save-update

    Flight resultFlight =
        (Flight) getObjectAndLazyObject(Flight.class, updateFlight.getId(), "passangerCollection");
    Collection<Passanger> resultPassengers = resultFlight.getPassangerCollection();
    Passanger resultPassenger = resultPassengers.iterator().next();

    Assert.assertEquals("updatePassenger", resultPassenger.getName());
    Assert.assertEquals(updateFlight.getDestination(), resultFlight.getDestination());
  }
  public void testSaveObjectPassengerWithMany2OneObjectFlightInverseFalse() {
    log.debug("\n\n--------testSaveObjectPassengerWithMany2OneObjectFlight()---------------\n\n");
    Passanger passanger = new Passanger();
    passanger.setName("name");
    Flight flight = new Flight();
    flight.setDestination("destination");
    passanger.setFlight(flight);

    save(flight);
    save(passanger);

    Passanger resultPassenger =
        (Passanger) getObjectAndLazyObject(Passanger.class, passanger.getId(), "flight");
    Flight resultFlight = resultPassenger.getFlight();
    Assert.assertEquals(passanger.getName(), resultPassenger.getName());
    Assert.assertEquals(resultFlight.getDestination(), resultFlight.getDestination());
  }