in google-cloud-spanner-hibernate-samples/basic-hibernate-sample/src/main/java/com/example/SampleApplication.java [70:99]
public static void savePerson(Session session) {
session.beginTransaction();
WireTransferPayment payment1 = new WireTransferPayment();
payment1.setWireId("1234ab");
payment1.setAmount(new BigDecimal("200.00"));
CreditCardPayment payment2 = new CreditCardPayment();
payment2.setCreditCardId("creditcardId");
payment2.setAmount(new BigDecimal("600.00"));
Person person = new Person();
person.setName("person");
person.setNickName("purson");
person.setAddress("address");
person.addPayment(payment1);
person.addPayment(payment2);
session.persist(person);
session.getTransaction().commit();
List<Person> personsInTable = session.createQuery("from Person", Person.class).list();
System.out.printf("There are %d persons saved in the table:%n", personsInTable.size());
for (Person personInTable : personsInTable) {
System.out.println(personInTable);
}
}