<?xml version="1.0" encoding="UTF-8"?>
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest$UsingConstructor" time="0.061" tests="15" errors="0" skipped="0" failures="0">
  <properties>
    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
    <property name="file.encoding.pkg" value="sun.io"/>
    <property name="java.specification.version" value="1.8"/>
    <property name="sun.cpu.isalist" value=""/>
    <property name="sun.jnu.encoding" value="UTF-8"/>
    <property name="java.class.path" value="/jenkins/work/agent-local/workspace/Stalactite pipeline/orm/target/test-classes:/jenkins/work/agent-local/workspace/Stalactite pipeline/orm/target/classes:/jenkins/work/agent-local/workspace/Stalactite pipeline/core/target/stalactite-core-3.0.0-SNAPSHOT.jar:/jenkins/work/agent-local/workspace/Stalactite pipeline/sql/target/stalactite-sql-3.0.0-SNAPSHOT.jar:/var/lib/jenkins/.m2/repository/org/codefilarete/reflection/1.1.2-SNAPSHOT/reflection-1.1.2-SNAPSHOT.jar:/var/lib/jenkins/.m2/repository/org/codefilarete/tools/1.1.1-SNAPSHOT/tools-1.1.1-SNAPSHOT.jar:/var/lib/jenkins/.m2/repository/org/danekja/jdk-serializable-functional/1.8.2/jdk-serializable-functional-1.8.2.jar:/var/lib/jenkins/.m2/repository/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar:/var/lib/jenkins/.m2/repository/org/apache/commons/commons-collections4/4.4/commons-collections4-4.4.jar:/jenkins/work/agent-local/workspace/Stalactite pipeline/sql-adapter/sql-hsqldb-adapter/target/stalactite-sql-hsqldb-adapter-3.0.0-SNAPSHOT.jar:/var/lib/jenkins/.m2/repository/org/hsqldb/hsqldb/2.7.4/hsqldb-2.7.4-jdk8.jar:/jenkins/work/agent-local/workspace/Stalactite pipeline/sql-adapter/sql-hsqldb-adapter/target/stalactite-sql-hsqldb-adapter-3.0.0-SNAPSHOT-tests.jar:/jenkins/work/agent-local/workspace/Stalactite pipeline/core-adapter/core-hsqldb-adapter/target/stalactite-core-hsqldb-adapter-3.0.0-SNAPSHOT.jar:/jenkins/work/agent-local/workspace/Stalactite pipeline/core/target/stalactite-core-3.0.0-SNAPSHOT-tests.jar:/var/lib/jenkins/.m2/repository/org/slf4j/slf4j-reload4j/1.7.36/slf4j-reload4j-1.7.36.jar:/var/lib/jenkins/.m2/repository/ch/qos/reload4j/reload4j/1.2.19/reload4j-1.2.19.jar:/var/lib/jenkins/.m2/repository/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:/var/lib/jenkins/.m2/repository/org/junit/jupiter/junit-jupiter/5.8.2/junit-jupiter-5.8.2.jar:/var/lib/jenkins/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.8.2/junit-jupiter-api-5.8.2.jar:/var/lib/jenkins/.m2/repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar:/var/lib/jenkins/.m2/repository/org/junit/platform/junit-platform-commons/1.8.2/junit-platform-commons-1.8.2.jar:/var/lib/jenkins/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/var/lib/jenkins/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.8.2/junit-jupiter-params-5.8.2.jar:/var/lib/jenkins/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.8.2/junit-jupiter-engine-5.8.2.jar:/var/lib/jenkins/.m2/repository/org/junit/platform/junit-platform-engine/1.8.2/junit-platform-engine-1.8.2.jar:/var/lib/jenkins/.m2/repository/org/codefilarete/tools/1.1.0/tools-1.1.0-tests.jar:/var/lib/jenkins/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/var/lib/jenkins/.m2/repository/org/mockito/mockito-core/4.3.1/mockito-core-4.3.1.jar:/var/lib/jenkins/.m2/repository/net/bytebuddy/byte-buddy/1.12.7/byte-buddy-1.12.7.jar:/var/lib/jenkins/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.7/byte-buddy-agent-1.12.7.jar:/var/lib/jenkins/.m2/repository/org/objenesis/objenesis/3.2/objenesis-3.2.jar:/var/lib/jenkins/.m2/repository/org/assertj/assertj-core/3.23.1/assertj-core-3.23.1.jar:"/>
    <property name="java.vm.vendor" value="Private Build"/>
    <property name="sun.arch.data.model" value="64"/>
    <property name="java.vendor.url" value="http://java.oracle.com/"/>
    <property name="user.timezone" value="Etc/UTC"/>
    <property name="java.vm.specification.version" value="1.8"/>
    <property name="os.name" value="Linux"/>
    <property name="user.country" value="FR"/>
    <property name="sun.java.launcher" value="SUN_STANDARD"/>
    <property name="sun.boot.library.path" value="/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64"/>
    <property name="sun.java.command" value="/jenkins/work/agent-local/workspace/Stalactite pipeline/orm/target/surefire/surefirebooter-20260519053109587_110.jar /jenkins/work/agent-local/workspace/Stalactite pipeline/orm/target/surefire 2026-05-19T05-30-38_739-jvmRun1 surefire-20260519053109587_108tmp surefire_4-20260519053109587_109tmp"/>
    <property name="surefire.test.class.path" value="/jenkins/work/agent-local/workspace/Stalactite pipeline/orm/target/test-classes:/jenkins/work/agent-local/workspace/Stalactite pipeline/orm/target/classes:/jenkins/work/agent-local/workspace/Stalactite pipeline/core/target/stalactite-core-3.0.0-SNAPSHOT.jar:/jenkins/work/agent-local/workspace/Stalactite pipeline/sql/target/stalactite-sql-3.0.0-SNAPSHOT.jar:/var/lib/jenkins/.m2/repository/org/codefilarete/reflection/1.1.2-SNAPSHOT/reflection-1.1.2-SNAPSHOT.jar:/var/lib/jenkins/.m2/repository/org/codefilarete/tools/1.1.1-SNAPSHOT/tools-1.1.1-SNAPSHOT.jar:/var/lib/jenkins/.m2/repository/org/danekja/jdk-serializable-functional/1.8.2/jdk-serializable-functional-1.8.2.jar:/var/lib/jenkins/.m2/repository/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar:/var/lib/jenkins/.m2/repository/org/apache/commons/commons-collections4/4.4/commons-collections4-4.4.jar:/jenkins/work/agent-local/workspace/Stalactite pipeline/sql-adapter/sql-hsqldb-adapter/target/stalactite-sql-hsqldb-adapter-3.0.0-SNAPSHOT.jar:/var/lib/jenkins/.m2/repository/org/hsqldb/hsqldb/2.7.4/hsqldb-2.7.4-jdk8.jar:/jenkins/work/agent-local/workspace/Stalactite pipeline/sql-adapter/sql-hsqldb-adapter/target/stalactite-sql-hsqldb-adapter-3.0.0-SNAPSHOT-tests.jar:/jenkins/work/agent-local/workspace/Stalactite pipeline/core-adapter/core-hsqldb-adapter/target/stalactite-core-hsqldb-adapter-3.0.0-SNAPSHOT.jar:/jenkins/work/agent-local/workspace/Stalactite pipeline/core/target/stalactite-core-3.0.0-SNAPSHOT-tests.jar:/var/lib/jenkins/.m2/repository/org/slf4j/slf4j-reload4j/1.7.36/slf4j-reload4j-1.7.36.jar:/var/lib/jenkins/.m2/repository/ch/qos/reload4j/reload4j/1.2.19/reload4j-1.2.19.jar:/var/lib/jenkins/.m2/repository/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:/var/lib/jenkins/.m2/repository/org/junit/jupiter/junit-jupiter/5.8.2/junit-jupiter-5.8.2.jar:/var/lib/jenkins/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.8.2/junit-jupiter-api-5.8.2.jar:/var/lib/jenkins/.m2/repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar:/var/lib/jenkins/.m2/repository/org/junit/platform/junit-platform-commons/1.8.2/junit-platform-commons-1.8.2.jar:/var/lib/jenkins/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/var/lib/jenkins/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.8.2/junit-jupiter-params-5.8.2.jar:/var/lib/jenkins/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.8.2/junit-jupiter-engine-5.8.2.jar:/var/lib/jenkins/.m2/repository/org/junit/platform/junit-platform-engine/1.8.2/junit-platform-engine-1.8.2.jar:/var/lib/jenkins/.m2/repository/org/codefilarete/tools/1.1.0/tools-1.1.0-tests.jar:/var/lib/jenkins/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/var/lib/jenkins/.m2/repository/org/mockito/mockito-core/4.3.1/mockito-core-4.3.1.jar:/var/lib/jenkins/.m2/repository/net/bytebuddy/byte-buddy/1.12.7/byte-buddy-1.12.7.jar:/var/lib/jenkins/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.7/byte-buddy-agent-1.12.7.jar:/var/lib/jenkins/.m2/repository/org/objenesis/objenesis/3.2/objenesis-3.2.jar:/var/lib/jenkins/.m2/repository/org/assertj/assertj-core/3.23.1/assertj-core-3.23.1.jar:"/>
    <property name="sun.cpu.endian" value="little"/>
    <property name="user.home" value="/var/lib/jenkins"/>
    <property name="user.language" value="fr"/>
    <property name="java.specification.vendor" value="Oracle Corporation"/>
    <property name="java.home" value="/usr/lib/jvm/java-8-openjdk-amd64/jre"/>
    <property name="basedir" value="/jenkins/work/agent-local/workspace/Stalactite pipeline/orm"/>
    <property name="file.separator" value="/"/>
    <property name="line.separator" value="&#10;"/>
    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
    <property name="java.specification.name" value="Java Platform API Specification"/>
    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
    <property name="surefire.real.class.path" value="/jenkins/work/agent-local/workspace/Stalactite pipeline/orm/target/surefire/surefirebooter-20260519053109587_110.jar:/var/lib/jenkins/.m2/repository/org/jacoco/org.jacoco.agent/0.8.5/org.jacoco.agent-0.8.5-runtime.jar"/>
    <property name="sun.boot.class.path" value="/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/classes"/>
    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
    <property name="java.runtime.version" value="1.8.0_482-8u482-ga~us1-0ubuntu1~24.04-b08"/>
    <property name="user.name" value="jenkins"/>
    <property name="path.separator" value=":"/>
    <property name="os.version" value="6.8.0-107-generic"/>
    <property name="java.endorsed.dirs" value="/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/endorsed"/>
    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
    <property name="file.encoding" value="UTF-8"/>
    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
    <property name="localRepository" value="/var/lib/jenkins/.m2/repository"/>
    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
    <property name="java.io.tmpdir" value="/tmp"/>
    <property name="java.version" value="1.8.0_482"/>
    <property name="user.dir" value="/jenkins/work/agent-local/workspace/Stalactite pipeline/orm"/>
    <property name="os.arch" value="amd64"/>
    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
    <property name="sun.os.patch.level" value="unknown"/>
    <property name="java.library.path" value="/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib"/>
    <property name="java.vm.info" value="mixed mode"/>
    <property name="java.vendor" value="Private Build"/>
    <property name="java.vm.version" value="25.482-b08"/>
    <property name="java.specification.maintenance.version" value="6"/>
    <property name="java.ext.dirs" value="/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext"/>
    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
    <property name="java.class.version" value="52.0"/>
  </properties>
  <testcase name="crud_columnNameOverridden_columnNameIsUsed" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest" time="0.014">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person(age integer not null, firstName varchar(255) not null, familyName varchar(255) not null, address varchar(255) not null, unique (firstName, familyName, address))
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person(age, firstName, familyName, address) values (?, ?, ?, ?) | {1={Person.familyName=Do, Person.firstName=John, Person.address=nowhere, Person.age=35}}
2026-05-19 05:31:23	DEBUG	SimpleRelationalEntityPersister	selecting entities [PersonId{firstName='John', lastName='Do', address='nowhere'}]
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age as Person_age, Person.firstName as Person_firstName, Person.familyName as Person_familyName, Person.address as Person_address from Person where (Person.firstName, Person.familyName, Person.address) in ((?, ?, ?)) | {1=John, 2=Do, 3=nowhere}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
]]></system-out>
  </testcase>
  <testcase name="crud_fieldNameOverridden_fieldNameIsUsed" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest" time="0.019">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person(age integer not null, firstName varchar(255) not null, lastName varchar(255) not null, address varchar(255) not null, unique (firstName, lastName, address))
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person(age, firstName, lastName, address) values (?, ?, ?, ?) | {1={Person.lastName=Do, Person.firstName=John, Person.address=nowhere, Person.age=35}}
2026-05-19 05:31:23	DEBUG	SimpleRelationalEntityPersister	selecting entities [PersonId{firstName='John', lastName='Do', address='nowhere'}]
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age as Person_age, Person.firstName as Person_firstName, Person.lastName as Person_lastName, Person.address as Person_address from Person where (Person.firstName, Person.lastName, Person.address) in ((?, ?, ?)) | {1=John, 2=Do, 3=nowhere}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
]]></system-out>
  </testcase>
  <testcase name="crud_oneToMany_withAssociationTable" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest" time="0.024">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person(age integer not null, firstName varchar(255) not null, lastName varchar(255) not null, address varchar(255) not null, unique (firstName, lastName, address))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person_pets(person_firstName varchar(255) not null, person_lastName varchar(255) not null, person_address varchar(255) not null, pets_name varchar(255) not null, pets_race varchar(255) not null, pets_age integer not null, unique (person_firstName, person_lastName, person_address, pets_name, pets_race, pets_age))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Pet(name varchar(255) not null, race varchar(255) not null, age integer not null, unique (name, race, age))
2026-05-19 05:31:23	DEBUG	DDLDeployer	alter table Person_pets add constraint FK_3124176c foreign key(pets_name, pets_race, pets_age) references Pet(name, race, age)
2026-05-19 05:31:23	DEBUG	DDLDeployer	alter table Person_pets add constraint FK_47cdb94d foreign key(person_firstName, person_lastName, person_address) references Person(firstName, lastName, address)
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person(age, firstName, lastName, address) values (?, ?, ?, ?) | {1={Person.address=nowhere, Person.age=35, Person.firstName=John, Person.lastName=Do}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 2 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Pet(name, race, age) values (?, ?, ?) | {1={Pet.age=5, Pet.name=Rantanplan, Pet.race=Dog}, 2={Pet.age=4, Pet.name=Pluto, Pet.race=Dog}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 2 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person_pets(person_lastName, pets_race, pets_name, person_firstName, person_address, pets_age) values (?, ?, ?, ?, ?, ?) | {1={Person_pets.person_lastName=Do, Person_pets.pets_name=Rantanplan, Person_pets.person_firstName=John, Person_pets.pets_age=5, Person_pets.pets_race=Dog, Person_pets.person_address=nowhere}, 2={Person_pets.person_lastName=Do, Person_pets.pets_name=Pluto, Person_pets.person_firstName=John, Person_pets.pets_age=4, Person_pets.pets_race=Dog, Person_pets.person_address=nowhere}}
2026-05-19 05:31:23	DEBUG	SimpleRelationalEntityPersister	selecting entities [PersonId{firstName='John', lastName='Do', address='nowhere'}]
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age as Person_age, Person.firstName as Person_firstName, Person.lastName as Person_lastName, Person.address as Person_address, Person_pets_Pet.name as Person_pets_Pet_name, Person_pets_Pet.race as Person_pets_Pet_race, Person_pets_Pet.age as Person_pets_Pet_age from Person left outer join Person_pets as Person_pets on Person.firstName = Person_pets.person_firstName and Person.lastName = Person_pets.person_lastName and Person.address = Person_pets.person_address left outer join Pet as Person_pets_Pet on Person_pets.pets_name = Person_pets_Pet.name and Person_pets.pets_race = Person_pets_Pet.race and Person_pets.pets_age = Person_pets_Pet.age where (Person.firstName, Person.lastName, Person.address) in ((?, ?, ?)) | {1=John, 2=Do, 3=nowhere}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.PassiveJoinNode$PassiveJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.RelationJoinNode$DefaultRelationJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.PassiveJoinNode$PassiveJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.RelationJoinNode$DefaultRelationJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	update Person set age = ? where firstName = ? and lastName = ? and address = ? | {1={Person.address (W)=nowhere, Person.age (U)=36, Person.firstName (W)=John, Person.lastName (W)=Do}}
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age from Person | {}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 2 times
2026-05-19 05:31:23	TRACE	SQLOperation	delete from Person_pets where person_firstName = ? and person_lastName = ? and person_address = ? and pets_name = ? and pets_race = ? and pets_age = ? | {1={Person_pets.person_lastName=Do, Person_pets.person_firstName=John, Person_pets.pets_age=4, Person_pets.pets_name=Pluto, Person_pets.pets_race=Dog, Person_pets.person_address=nowhere}, 2={Person_pets.person_lastName=Do, Person_pets.person_firstName=John, Person_pets.pets_age=5, Person_pets.pets_name=Rantanplan, Person_pets.pets_race=Dog, Person_pets.person_address=nowhere}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	delete from Person where firstName = ? and lastName = ? and address = ? | {1={Person.address=nowhere, Person.firstName=John, Person.lastName=Do}}
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.firstName, Person.lastName, Person.address from Person | {}
]]></system-out>
  </testcase>
  <testcase name="crud_fieldNameOverriddenAndColumnNameOverridden_columnNameIsUsed" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest" time="0.017">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person(age integer not null, firstName varchar(255) not null, familyName varchar(255) not null, address varchar(255) not null, unique (firstName, familyName, address))
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person(age, firstName, familyName, address) values (?, ?, ?, ?) | {1={Person.address=nowhere, Person.age=35, Person.familyName=Do, Person.firstName=John}}
2026-05-19 05:31:23	DEBUG	SimpleRelationalEntityPersister	selecting entities [PersonId{firstName='John', lastName='Do', address='nowhere'}]
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age as Person_age, Person.firstName as Person_firstName, Person.familyName as Person_familyName, Person.address as Person_address from Person where (Person.firstName, Person.familyName, Person.address) in ((?, ?, ?)) | {1=John, 2=Do, 3=nowhere}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
]]></system-out>
  </testcase>
  <testcase name="crud" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest" time="0.009">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person(age integer not null, firstName varchar(255) not null, lastName varchar(255) not null, address varchar(255) not null, unique (firstName, lastName, address))
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person(age, firstName, lastName, address) values (?, ?, ?, ?) | {1={Person.firstName=John, Person.age=35, Person.lastName=Do, Person.address=nowhere}}
2026-05-19 05:31:23	DEBUG	SimpleRelationalEntityPersister	selecting entities [PersonId{firstName='John', lastName='Do', address='nowhere'}]
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age as Person_age, Person.firstName as Person_firstName, Person.lastName as Person_lastName, Person.address as Person_address from Person where (Person.firstName, Person.lastName, Person.address) in ((?, ?, ?)) | {1=John, 2=Do, 3=nowhere}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	update Person set age = ? where firstName = ? and lastName = ? and address = ? | {1={Person.firstName (W)=John, Person.age (U)=36, Person.lastName (W)=Do, Person.address (W)=nowhere}}
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age from Person | {}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	delete from Person where firstName = ? and lastName = ? and address = ? | {1={Person.firstName=John, Person.lastName=Do, Person.address=nowhere}}
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age from Person | {}
]]></system-out>
  </testcase>
  <testcase name="crud_manyToMany" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest" time="0.014">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person(age integer not null, firstName varchar(255) not null, lastName varchar(255) not null, address varchar(255) not null, unique (firstName, lastName, address))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person_pets(person_firstName varchar(255) not null, person_lastName varchar(255) not null, person_address varchar(255) not null, pets_name varchar(255) not null, pets_race varchar(255) not null, pets_age integer not null, unique (person_firstName, person_lastName, person_address, pets_name, pets_race, pets_age))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Pet(name varchar(255) not null, race varchar(255) not null, age integer not null, unique (name, race, age))
2026-05-19 05:31:23	DEBUG	DDLDeployer	alter table Person_pets add constraint FK_47cdb94d foreign key(person_firstName, person_lastName, person_address) references Person(firstName, lastName, address)
2026-05-19 05:31:23	DEBUG	DDLDeployer	alter table Person_pets add constraint FK_3124176c foreign key(pets_name, pets_race, pets_age) references Pet(name, race, age)
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person(age, firstName, lastName, address) values (?, ?, ?, ?) | {1={Person.lastName=Do, Person.firstName=John, Person.address=nowhere, Person.age=35}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 2 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Pet(name, race, age) values (?, ?, ?) | {1={Pet.age=4, Pet.race=Dog, Pet.name=Pluto}, 2={Pet.age=5, Pet.race=Dog, Pet.name=Rantanplan}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 2 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person_pets(person_lastName, pets_race, pets_name, person_firstName, person_address, pets_age) values (?, ?, ?, ?, ?, ?) | {1={Person_pets.person_address=nowhere, Person_pets.pets_age=5, Person_pets.person_lastName=Do, Person_pets.pets_name=Rantanplan, Person_pets.pets_race=Dog, Person_pets.person_firstName=John}, 2={Person_pets.person_address=nowhere, Person_pets.pets_age=4, Person_pets.person_lastName=Do, Person_pets.pets_name=Pluto, Person_pets.pets_race=Dog, Person_pets.person_firstName=John}}
2026-05-19 05:31:23	DEBUG	SimpleRelationalEntityPersister	selecting entities [PersonId{firstName='John', lastName='Do', address='nowhere'}]
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age as Person_age, Person.firstName as Person_firstName, Person.lastName as Person_lastName, Person.address as Person_address, Person_pets_Pet.name as Person_pets_Pet_name, Person_pets_Pet.race as Person_pets_Pet_race, Person_pets_Pet.age as Person_pets_Pet_age from Person left outer join Person_pets as Person_pets on Person.firstName = Person_pets.person_firstName and Person.lastName = Person_pets.person_lastName and Person.address = Person_pets.person_address left outer join Pet as Person_pets_Pet on Person_pets.pets_name = Person_pets_Pet.name and Person_pets.pets_race = Person_pets_Pet.race and Person_pets.pets_age = Person_pets_Pet.age where (Person.firstName, Person.lastName, Person.address) in ((?, ?, ?)) | {1=John, 2=Do, 3=nowhere}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.PassiveJoinNode$PassiveJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.RelationJoinNode$DefaultRelationJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.PassiveJoinNode$PassiveJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.RelationJoinNode$DefaultRelationJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	update Person set age = ? where firstName = ? and lastName = ? and address = ? | {1={Person.lastName (W)=Do, Person.firstName (W)=John, Person.address (W)=nowhere, Person.age (U)=36}}
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age from Person | {}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 2 times
2026-05-19 05:31:23	TRACE	SQLOperation	delete from Person_pets where person_firstName = ? and person_lastName = ? and person_address = ? and pets_name = ? and pets_race = ? and pets_age = ? | {1={Person_pets.person_address=nowhere, Person_pets.pets_age=4, Person_pets.person_lastName=Do, Person_pets.pets_name=Pluto, Person_pets.person_firstName=John, Person_pets.pets_race=Dog}, 2={Person_pets.person_address=nowhere, Person_pets.pets_age=5, Person_pets.person_lastName=Do, Person_pets.pets_name=Rantanplan, Person_pets.person_firstName=John, Person_pets.pets_race=Dog}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	delete from Person where firstName = ? and lastName = ? and address = ? | {1={Person.lastName=Do, Person.firstName=John, Person.address=nowhere}}
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.firstName, Person.lastName, Person.address from Person | {}
]]></system-out>
  </testcase>
  <testcase name="persist_polymorphic(String, EntityPersister)[1]" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest" time="0.008">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Pet(name varchar(255) not null, race varchar(255) not null, age integer not null, catBreed integer, dogBreed integer, DTYPE varchar(255) not null, unique (name, race, age))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Cat(catBreed integer, name varchar(255) not null, race varchar(255) not null, age integer not null, unique (name, race, age))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Dog(dogBreed integer, name varchar(255) not null, race varchar(255) not null, age integer not null, unique (name, race, age))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Pet(name varchar(255) not null, race varchar(255) not null, age integer not null, unique (name, race, age))
2026-05-19 05:31:23	DEBUG	DDLDeployer	alter table Cat add constraint FK_7d3b9729 foreign key(name, race, age) references Pet(name, race, age)
2026-05-19 05:31:23	DEBUG	DDLDeployer	alter table Dog add constraint FK_46d3d303 foreign key(name, race, age) references Pet(name, race, age)
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Cat(catBreed integer, name varchar(255) not null, race varchar(255) not null, age integer not null, unique (name, race, age))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Dog(dogBreed integer, name varchar(255) not null, race varchar(255) not null, age integer not null, unique (name, race, age))
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Pet(catBreed, name, race, age, DTYPE) values (?, ?, ?, ?, ?) | {1={Pet.catBreed=Persian, Pet.race=Dog, Pet.name=Pluto, Pet.age=4, Pet.DTYPE=Pet}}
2026-05-19 05:31:23	DEBUG	SingleTablePolymorphismPersister	selecting entities [PetId{name='Pluto', race='Dog', age=4}]
2026-05-19 05:31:23	DEBUG	SingleTablePolymorphismEntityFinder	Finding entities in a single query with criteria o.c.s.e.r.q.EntityCriteriaSupportcriteria=[AND [org.codefilarete.stalactite.query.model.operator.TupleIn@5f909b2d]], hasCollectionCriteria=false, parent=null
2026-05-19 05:31:23	TRACE	SQLOperation	select Pet.name as Pet_name, Pet.race as Pet_race, Pet.age as Pet_age, Pet.catBreed as Pet_catBreed, Pet.dogBreed as Pet_dogBreed, Pet.DTYPE as Pet_DTYPE from Pet where (Pet.name, Pet.race, Pet.age) in ((?, ?, ?)) | {1=Pluto, 2=Dog, 3=4}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.SingleTableRootJoinNode$SingleTablePolymorphicJoinRootRowConsumer
2026-05-19 05:31:23	DEBUG	SingleTablePolymorphismPersister	selecting entities [PetId{name='Pluto', race='Dog', age=4}]
2026-05-19 05:31:23	DEBUG	SingleTablePolymorphismEntityFinder	Finding entities in a single query with criteria o.c.s.e.r.q.EntityCriteriaSupportcriteria=[AND [org.codefilarete.stalactite.query.model.operator.TupleIn@711f4bb6]], hasCollectionCriteria=false, parent=null
2026-05-19 05:31:23	TRACE	SQLOperation	select Pet.name as Pet_name, Pet.race as Pet_race, Pet.age as Pet_age, Pet.catBreed as Pet_catBreed, Pet.dogBreed as Pet_dogBreed, Pet.DTYPE as Pet_DTYPE from Pet where (Pet.name, Pet.race, Pet.age) in ((?, ?, ?)) | {1=Pluto, 2=Dog, 3=4}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.SingleTableRootJoinNode$SingleTablePolymorphicJoinRootRowConsumer
2026-05-19 05:31:23	DEBUG	SingleTablePolymorphismPersister	selecting entities [PetId{name='Pluto', race='Dog', age=4}]
2026-05-19 05:31:23	DEBUG	SingleTablePolymorphismEntityFinder	Finding entities in a single query with criteria o.c.s.e.r.q.EntityCriteriaSupportcriteria=[AND [org.codefilarete.stalactite.query.model.operator.TupleIn@98d8732]], hasCollectionCriteria=false, parent=null
2026-05-19 05:31:23	TRACE	SQLOperation	select Pet.name as Pet_name, Pet.race as Pet_race, Pet.age as Pet_age, Pet.catBreed as Pet_catBreed, Pet.dogBreed as Pet_dogBreed, Pet.DTYPE as Pet_DTYPE from Pet where (Pet.name, Pet.race, Pet.age) in ((?, ?, ?)) | {1=Pluto, 2=Dog, 3=4}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.SingleTableRootJoinNode$SingleTablePolymorphicJoinRootRowConsumer
]]></system-out>
  </testcase>
  <testcase name="persist_polymorphic(String, EntityPersister)[2]" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest" time="0.008">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Pet(name, race, age) values (?, ?, ?) | {1={Pet.name=Pluto, Pet.race=Dog, Pet.age=4}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Cat(catBreed, name, race, age) values (?, ?, ?, ?) | {1={Cat.name=Pluto, Cat.race=Dog, Cat.age=4, Cat.catBreed=Persian}}
2026-05-19 05:31:23	DEBUG	JoinTablePolymorphismPersister	selecting entities [PetId{name='Pluto', race='Dog', age=4}]
2026-05-19 05:31:23	DEBUG	JoinTablePolymorphismEntityFinder	Finding entities in a single query with criteria o.c.s.e.r.q.EntityCriteriaSupportcriteria=[AND [org.codefilarete.stalactite.query.model.operator.TupleIn@177512c4]], hasCollectionCriteria=false, parent=null
2026-05-19 05:31:23	TRACE	SQLOperation	select Pet.name as Pet_name, Pet.race as Pet_race, Pet.age as Pet_age, Cat.catBreed as Cat_catBreed, Cat.name as Cat_name, Cat.race as Cat_race, Cat.age as Cat_age, Dog.dogBreed as Dog_dogBreed, Dog.name as Dog_name, Dog.race as Dog_race, Dog.age as Dog_age from Pet left outer join Cat as Cat on Pet.name = Cat.name and Pet.race = Cat.race and Pet.age = Cat.age left outer join Dog as Dog on Pet.name = Dog.name and Pet.race = Dog.race and Pet.age = Dog.age where (Pet.name, Pet.race, Pet.age) in ((?, ?, ?)) | {1=Pluto, 2=Dog, 3=4}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinTableRootJoinNode$JoinTablePolymorphicJoinRootRowConsumer
2026-05-19 05:31:23	DEBUG	JoinTableRootJoinNode$JoinTablePolymorphicJoinRootRowConsumer	Instantiating entity of type class org.codefilarete.stalactite.engine.model.compositekey.Pet$Cat
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.MergeJoinNode$MergeJoinRowConsumer on object o.c.s.e.m.c.Pet$Cat#PetId{name='Pluto', race='Dog', age=4}
2026-05-19 05:31:23	DEBUG	JoinTablePolymorphismPersister	selecting entities [PetId{name='Pluto', race='Dog', age=4}]
2026-05-19 05:31:23	DEBUG	JoinTablePolymorphismEntityFinder	Finding entities in a single query with criteria o.c.s.e.r.q.EntityCriteriaSupportcriteria=[AND [org.codefilarete.stalactite.query.model.operator.TupleIn@4492b668]], hasCollectionCriteria=false, parent=null
2026-05-19 05:31:23	TRACE	SQLOperation	select Pet.name as Pet_name, Pet.race as Pet_race, Pet.age as Pet_age, Cat.catBreed as Cat_catBreed, Cat.name as Cat_name, Cat.race as Cat_race, Cat.age as Cat_age, Dog.dogBreed as Dog_dogBreed, Dog.name as Dog_name, Dog.race as Dog_race, Dog.age as Dog_age from Pet left outer join Cat as Cat on Pet.name = Cat.name and Pet.race = Cat.race and Pet.age = Cat.age left outer join Dog as Dog on Pet.name = Dog.name and Pet.race = Dog.race and Pet.age = Dog.age where (Pet.name, Pet.race, Pet.age) in ((?, ?, ?)) | {1=Pluto, 2=Dog, 3=4}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinTableRootJoinNode$JoinTablePolymorphicJoinRootRowConsumer
2026-05-19 05:31:23	DEBUG	JoinTableRootJoinNode$JoinTablePolymorphicJoinRootRowConsumer	Instantiating entity of type class org.codefilarete.stalactite.engine.model.compositekey.Pet$Cat
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.MergeJoinNode$MergeJoinRowConsumer on object o.c.s.e.m.c.Pet$Cat#PetId{name='Pluto', race='Dog', age=4}
2026-05-19 05:31:23	DEBUG	JoinTablePolymorphismPersister	selecting entities [PetId{name='Pluto', race='Dog', age=4}]
2026-05-19 05:31:23	DEBUG	JoinTablePolymorphismEntityFinder	Finding entities in a single query with criteria o.c.s.e.r.q.EntityCriteriaSupportcriteria=[AND [org.codefilarete.stalactite.query.model.operator.TupleIn@3b04b7f3]], hasCollectionCriteria=false, parent=null
2026-05-19 05:31:23	TRACE	SQLOperation	select Pet.name as Pet_name, Pet.race as Pet_race, Pet.age as Pet_age, Cat.catBreed as Cat_catBreed, Cat.name as Cat_name, Cat.race as Cat_race, Cat.age as Cat_age, Dog.dogBreed as Dog_dogBreed, Dog.name as Dog_name, Dog.race as Dog_race, Dog.age as Dog_age from Pet left outer join Cat as Cat on Pet.name = Cat.name and Pet.race = Cat.race and Pet.age = Cat.age left outer join Dog as Dog on Pet.name = Dog.name and Pet.race = Dog.race and Pet.age = Dog.age where (Pet.name, Pet.race, Pet.age) in ((?, ?, ?)) | {1=Pluto, 2=Dog, 3=4}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinTableRootJoinNode$JoinTablePolymorphicJoinRootRowConsumer
2026-05-19 05:31:23	DEBUG	JoinTableRootJoinNode$JoinTablePolymorphicJoinRootRowConsumer	Instantiating entity of type class org.codefilarete.stalactite.engine.model.compositekey.Pet$Cat
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.MergeJoinNode$MergeJoinRowConsumer on object o.c.s.e.m.c.Pet$Cat#PetId{name='Pluto', race='Dog', age=4}
]]></system-out>
  </testcase>
  <testcase name="persist_polymorphic(String, EntityPersister)[3]" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest" time="0.009">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Cat(catBreed, name, race, age) values (?, ?, ?, ?) | {1={Cat.catBreed=Persian, Cat.age=4, Cat.name=Pluto, Cat.race=Dog}}
2026-05-19 05:31:23	DEBUG	TablePerClassPolymorphismPersister	selecting entities [PetId{name='Pluto', race='Dog', age=4}]
2026-05-19 05:31:23	DEBUG	TablePerClassPolymorphismEntityFinder	Finding entities in a single query with criteria o.c.s.e.r.q.EntityCriteriaSupportcriteria=[AND [org.codefilarete.stalactite.query.model.operator.TupleIn@5d59a117]], hasCollectionCriteria=false, parent=null
2026-05-19 05:31:23	TRACE	SQLOperation	select Pet.name as Pet_name, Pet.race as Pet_race, Pet.age as Pet_age, Pet.DISCRIMINATOR as Pet_DISCRIMINATOR, Cat.catBreed as Cat_catBreed, Cat.name as Cat_name, Cat.race as Cat_race, Cat.age as Cat_age, Dog.dogBreed as Dog_dogBreed, Dog.name as Dog_name, Dog.race as Dog_race, Dog.age as Dog_age from (select Cat.name as name, Cat.race as race, Cat.age as age, 'Cat' as DISCRIMINATOR from Cat union all select Dog.name as name, Dog.race as race, Dog.age as age, 'Dog' as DISCRIMINATOR from Dog) as Pet left outer join Cat as Cat on Pet.name = Cat.name and Pet.race = Cat.race and Pet.age = Cat.age left outer join Dog as Dog on Pet.name = Dog.name and Pet.race = Dog.race and Pet.age = Dog.age where (Pet.name, Pet.race, Pet.age) in ((?, ?, ?)) | {1=Pluto, 2=Dog, 3=4}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.TablePerClassRootJoinNode$TablePerClassPolymorphicJoinRootRowConsumer
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.MergeJoinNode$MergeJoinRowConsumer on object o.c.s.e.m.c.Pet$Cat#PetId{name='Pluto', race='Dog', age=4}
2026-05-19 05:31:23	DEBUG	TablePerClassPolymorphismPersister	selecting entities [PetId{name='Pluto', race='Dog', age=4}]
2026-05-19 05:31:23	DEBUG	TablePerClassPolymorphismEntityFinder	Finding entities in a single query with criteria o.c.s.e.r.q.EntityCriteriaSupportcriteria=[AND [org.codefilarete.stalactite.query.model.operator.TupleIn@8f771e1]], hasCollectionCriteria=false, parent=null
2026-05-19 05:31:23	TRACE	SQLOperation	select Pet.name as Pet_name, Pet.race as Pet_race, Pet.age as Pet_age, Pet.DISCRIMINATOR as Pet_DISCRIMINATOR, Cat.catBreed as Cat_catBreed, Cat.name as Cat_name, Cat.race as Cat_race, Cat.age as Cat_age, Dog.dogBreed as Dog_dogBreed, Dog.name as Dog_name, Dog.race as Dog_race, Dog.age as Dog_age from (select Cat.name as name, Cat.race as race, Cat.age as age, 'Cat' as DISCRIMINATOR from Cat union all select Dog.name as name, Dog.race as race, Dog.age as age, 'Dog' as DISCRIMINATOR from Dog) as Pet left outer join Cat as Cat on Pet.name = Cat.name and Pet.race = Cat.race and Pet.age = Cat.age left outer join Dog as Dog on Pet.name = Dog.name and Pet.race = Dog.race and Pet.age = Dog.age where (Pet.name, Pet.race, Pet.age) in ((?, ?, ?)) | {1=Pluto, 2=Dog, 3=4}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.TablePerClassRootJoinNode$TablePerClassPolymorphicJoinRootRowConsumer
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.MergeJoinNode$MergeJoinRowConsumer on object o.c.s.e.m.c.Pet$Cat#PetId{name='Pluto', race='Dog', age=4}
2026-05-19 05:31:23	DEBUG	TablePerClassPolymorphismPersister	selecting entities [PetId{name='Pluto', race='Dog', age=4}]
2026-05-19 05:31:23	DEBUG	TablePerClassPolymorphismEntityFinder	Finding entities in a single query with criteria o.c.s.e.r.q.EntityCriteriaSupportcriteria=[AND [org.codefilarete.stalactite.query.model.operator.TupleIn@21b04ffd]], hasCollectionCriteria=false, parent=null
2026-05-19 05:31:23	TRACE	SQLOperation	select Pet.name as Pet_name, Pet.race as Pet_race, Pet.age as Pet_age, Pet.DISCRIMINATOR as Pet_DISCRIMINATOR, Cat.catBreed as Cat_catBreed, Cat.name as Cat_name, Cat.race as Cat_race, Cat.age as Cat_age, Dog.dogBreed as Dog_dogBreed, Dog.name as Dog_name, Dog.race as Dog_race, Dog.age as Dog_age from (select Cat.name as name, Cat.race as race, Cat.age as age, 'Cat' as DISCRIMINATOR from Cat union all select Dog.name as name, Dog.race as race, Dog.age as age, 'Dog' as DISCRIMINATOR from Dog) as Pet left outer join Cat as Cat on Pet.name = Cat.name and Pet.race = Cat.race and Pet.age = Cat.age left outer join Dog as Dog on Pet.name = Dog.name and Pet.race = Dog.race and Pet.age = Dog.age where (Pet.name, Pet.race, Pet.age) in ((?, ?, ?)) | {1=Pluto, 2=Dog, 3=4}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.TablePerClassRootJoinNode$TablePerClassPolymorphicJoinRootRowConsumer
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.MergeJoinNode$MergeJoinRowConsumer on object o.c.s.e.m.c.Pet$Cat#PetId{name='Pluto', race='Dog', age=4}
]]></system-out>
  </testcase>
  <testcase name="crud_oneToMany_ownedByTarget" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest" time="0.015">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person(age integer not null, firstName varchar(255) not null, lastName varchar(255) not null, address varchar(255) not null, unique (firstName, lastName, address))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Pet(name varchar(255) not null, race varchar(255) not null, age integer not null, ownerFirstName varchar(255), ownerLastName varchar(255), ownerAddress varchar(255), unique (name, race, age))
2026-05-19 05:31:23	DEBUG	DDLDeployer	alter table Pet add constraint FK_fcda3543 foreign key(ownerFirstName, ownerLastName, ownerAddress) references Person(firstName, lastName, address)
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person(age, firstName, lastName, address) values (?, ?, ?, ?) | {1={Person.address=nowhere, Person.lastName=Do, Person.age=35, Person.firstName=John}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 2 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Pet(name, race, age, ownerLastName, ownerAddress, ownerFirstName) values (?, ?, ?, ?, ?, ?) | {1={Pet.ownerAddress=nowhere, Pet.ownerLastName=Do, Pet.race=Dog, Pet.age=4, Pet.ownerFirstName=John, Pet.name=Pluto}, 2={Pet.ownerAddress=nowhere, Pet.ownerLastName=Do, Pet.race=Dog, Pet.age=5, Pet.ownerFirstName=John, Pet.name=Rantanplan}}
2026-05-19 05:31:23	DEBUG	SimpleRelationalEntityPersister	selecting entities [PersonId{firstName='John', lastName='Do', address='nowhere'}]
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age as Person_age, Person.firstName as Person_firstName, Person.lastName as Person_lastName, Person.address as Person_address, Pet.name as Pet_name, Pet.race as Pet_race, Pet.age as Pet_age from Person left outer join Pet as Pet on Person.firstName = Pet.ownerFirstName and Person.lastName = Pet.ownerLastName and Person.address = Pet.ownerAddress where (Person.firstName, Person.lastName, Person.address) in ((?, ?, ?)) | {1=John, 2=Do, 3=nowhere}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.RelationJoinNode$DefaultRelationJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.RelationJoinNode$DefaultRelationJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	update Person set age = ? where firstName = ? and lastName = ? and address = ? | {1={Person.address (W)=nowhere, Person.lastName (W)=Do, Person.age (U)=36, Person.firstName (W)=John}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 2 times
2026-05-19 05:31:23	TRACE	SQLOperation	update Pet set ownerLastName = ?, ownerAddress = ?, ownerFirstName = ? where name = ? and race = ? and age = ? | {1={Pet.ownerAddress (U)=nowhere, Pet.ownerLastName (U)=Do, Pet.race (W)=Dog, Pet.age (W)=4, Pet.ownerFirstName (U)=John, Pet.name (W)=Pluto}, 2={Pet.ownerAddress (U)=nowhere, Pet.ownerLastName (U)=Do, Pet.race (W)=Dog, Pet.age (W)=5, Pet.ownerFirstName (U)=John, Pet.name (W)=Rantanplan}}
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age from Person | {}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 2 times
2026-05-19 05:31:23	TRACE	SQLOperation	update Pet set ownerLastName = ?, ownerAddress = ?, ownerFirstName = ? where name = ? and race = ? and age = ? | {1={Pet.ownerAddress (U)=null, Pet.ownerLastName (U)=null, Pet.race (W)=Dog, Pet.age (W)=4, Pet.ownerFirstName (U)=null, Pet.name (W)=Pluto}, 2={Pet.ownerAddress (U)=null, Pet.ownerLastName (U)=null, Pet.race (W)=Dog, Pet.age (W)=5, Pet.ownerFirstName (U)=null, Pet.name (W)=Rantanplan}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	delete from Person where firstName = ? and lastName = ? and address = ? | {1={Person.address=nowhere, Person.lastName=Do, Person.firstName=John}}
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.firstName, Person.lastName, Person.address from Person | {}
]]></system-out>
  </testcase>
  <testcase name="withColumnArgs" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest$UsingConstructor" time="0.012">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table House(number integer not null, street varchar(255) not null, zipCode varchar(255) not null, city varchar(255) not null, unique (number, street, zipCode, city))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person(age integer not null, firstName varchar(255) not null, lastName varchar(255) not null, address varchar(255) not null, houseNumber integer, houseStreet varchar(255), houseZipCode varchar(255), houseCity varchar(255), unique (firstName, lastName, address))
2026-05-19 05:31:23	DEBUG	DDLDeployer	alter table Person add constraint FK_8b87d9bd foreign key(houseNumber, houseStreet, houseZipCode, houseCity) references House(number, street, zipCode, city)
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into House(number, street, zipCode, city) values (?, ?, ?, ?) | {1={House.street=Stalactite street, House.zipCode=888, House.city=CodeFilarete City, House.number=42}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person(age, firstName, lastName, address, houseNumber, houseStreet, houseCity, houseZipCode) values (?, ?, ?, ?, ?, ?, ?, ?) | {1={Person.lastName=Do, Person.address=nowhere, Person.age=35, Person.firstName=John, Person.houseNumber=42, Person.houseStreet=Stalactite street, Person.houseCity=CodeFilarete City, Person.houseZipCode=888}}
2026-05-19 05:31:23	DEBUG	SimpleRelationalEntityPersister	selecting entities [PersonId{firstName='John', lastName='Do', address='nowhere'}]
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age as Person_age, Person.firstName as Person_firstName, Person.lastName as Person_lastName, Person.address as Person_address, house.number as house_number, house.street as house_street, house.zipCode as house_zipCode, house.city as house_city from Person left outer join House as house on Person.houseNumber = house.number and Person.houseStreet = house.street and Person.houseZipCode = house.zipCode and Person.houseCity = house.city where (Person.firstName, Person.lastName, Person.address) in ((?, ?, ?)) | {1=John, 2=Do, 3=nowhere}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.RelationJoinNode$DefaultRelationJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
]]></system-out>
  </testcase>
  <testcase name="ifConstructorWithIdExists_butConstructorWithoutArgsIsSpecified_constructorWithoutArgsIsUsed" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest$UsingConstructor" time="0.011">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table House(number integer not null, street varchar(255) not null, zipCode varchar(255) not null, city varchar(255) not null, unique (number, street, zipCode, city))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person(age integer not null, firstName varchar(255) not null, lastName varchar(255) not null, address varchar(255) not null, houseNumber integer, houseStreet varchar(255), houseZipCode varchar(255), houseCity varchar(255), unique (firstName, lastName, address))
2026-05-19 05:31:23	DEBUG	DDLDeployer	alter table Person add constraint FK_8b87d9bd foreign key(houseNumber, houseStreet, houseZipCode, houseCity) references House(number, street, zipCode, city)
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into House(number, street, zipCode, city) values (?, ?, ?, ?) | {1={House.number=42, House.city=CodeFilarete City, House.zipCode=888, House.street=Stalactite street}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person(age, firstName, lastName, address, houseStreet, houseNumber, houseCity, houseZipCode) values (?, ?, ?, ?, ?, ?, ?, ?) | {1={Person.houseStreet=Stalactite street, Person.firstName=John, Person.houseNumber=42, Person.houseCity=CodeFilarete City, Person.address=nowhere, Person.age=35, Person.lastName=Do, Person.houseZipCode=888}}
2026-05-19 05:31:23	DEBUG	SimpleRelationalEntityPersister	selecting entities [PersonId{firstName='John', lastName='Do', address='nowhere'}]
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age as Person_age, Person.firstName as Person_firstName, Person.lastName as Person_lastName, Person.address as Person_address, house.number as house_number, house.street as house_street, house.zipCode as house_zipCode, house.city as house_city from Person left outer join House as house on Person.houseNumber = house.number and Person.houseStreet = house.street and Person.houseZipCode = house.zipCode and Person.houseCity = house.city where (Person.firstName, Person.lastName, Person.address) in ((?, ?, ?)) | {1=John, 2=Do, 3=nowhere}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.RelationJoinNode$DefaultRelationJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
]]></system-out>
  </testcase>
  <testcase name="ifConstructorWithIdExists_constructorWithIdIsUsed" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest$UsingConstructor" time="0.011">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table House(number integer not null, street varchar(255) not null, zipCode varchar(255) not null, city varchar(255) not null, unique (number, street, zipCode, city))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person(age integer not null, firstName varchar(255) not null, lastName varchar(255) not null, address varchar(255) not null, houseNumber integer, houseStreet varchar(255), houseZipCode varchar(255), houseCity varchar(255), unique (firstName, lastName, address))
2026-05-19 05:31:23	DEBUG	DDLDeployer	alter table Person add constraint FK_8b87d9bd foreign key(houseNumber, houseStreet, houseZipCode, houseCity) references House(number, street, zipCode, city)
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into House(number, street, zipCode, city) values (?, ?, ?, ?) | {1={House.number=42, House.zipCode=888, House.city=CodeFilarete City, House.street=Stalactite street}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person(age, firstName, lastName, address, houseCity, houseZipCode, houseNumber, houseStreet) values (?, ?, ?, ?, ?, ?, ?, ?) | {1={Person.houseCity=CodeFilarete City, Person.address=nowhere, Person.houseZipCode=888, Person.age=35, Person.firstName=John, Person.lastName=Do, Person.houseNumber=42, Person.houseStreet=Stalactite street}}
2026-05-19 05:31:23	DEBUG	SimpleRelationalEntityPersister	selecting entities [PersonId{firstName='John', lastName='Do', address='nowhere'}]
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age as Person_age, Person.firstName as Person_firstName, Person.lastName as Person_lastName, Person.address as Person_address, house.number as house_number, house.street as house_street, house.zipCode as house_zipCode, house.city as house_city from Person left outer join House as house on Person.houseNumber = house.number and Person.houseStreet = house.street and Person.houseZipCode = house.zipCode and Person.houseCity = house.city where (Person.firstName, Person.lastName, Person.address) in ((?, ?, ?)) | {1=John, 2=Do, 3=nowhere}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.RelationJoinNode$DefaultRelationJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
]]></system-out>
  </testcase>
  <testcase name="withColumnNameArgs" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest$UsingConstructor" time="0.011">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table House(number integer not null, street varchar(255) not null, zipCode varchar(255) not null, city varchar(255) not null, unique (number, street, zipCode, city))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person(age integer not null, firstName varchar(255) not null, lastName varchar(255) not null, address varchar(255) not null, houseNumber integer, houseStreet varchar(255), houseZipCode varchar(255), houseCity varchar(255), unique (firstName, lastName, address))
2026-05-19 05:31:23	DEBUG	DDLDeployer	alter table Person add constraint FK_8b87d9bd foreign key(houseNumber, houseStreet, houseZipCode, houseCity) references House(number, street, zipCode, city)
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into House(number, street, zipCode, city) values (?, ?, ?, ?) | {1={House.number=42, House.street=Stalactite street, House.city=CodeFilarete City, House.zipCode=888}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person(age, firstName, lastName, address, houseCity, houseStreet, houseNumber, houseZipCode) values (?, ?, ?, ?, ?, ?, ?, ?) | {1={Person.age=35, Person.houseCity=CodeFilarete City, Person.houseStreet=Stalactite street, Person.address=nowhere, Person.houseNumber=42, Person.houseZipCode=888, Person.lastName=Do, Person.firstName=John}}
2026-05-19 05:31:23	DEBUG	SimpleRelationalEntityPersister	selecting entities [PersonId{firstName='John', lastName='Do', address='nowhere'}]
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age as Person_age, Person.firstName as Person_firstName, Person.lastName as Person_lastName, Person.address as Person_address, house.number as house_number, house.street as house_street, house.zipCode as house_zipCode, house.city as house_city from Person left outer join House as house on Person.houseNumber = house.number and Person.houseStreet = house.street and Person.houseZipCode = house.zipCode and Person.houseCity = house.city where (Person.firstName, Person.lastName, Person.address) in ((?, ?, ?)) | {1=John, 2=Do, 3=nowhere}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.RelationJoinNode$DefaultRelationJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
]]></system-out>
  </testcase>
  <testcase name="usingFactory" classname="org.codefilarete.stalactite.engine.FluentEntityMappingConfigurationSupportCompositeKeyTest$UsingConstructor" time="0.013">
    <system-out><![CDATA[2026-05-19 05:31:23	DEBUG	DDLDeployer	create table House(number integer not null, street varchar(255) not null, zipCode varchar(255) not null, city varchar(255) not null, unique (number, street, zipCode, city))
2026-05-19 05:31:23	DEBUG	DDLDeployer	create table Person(age integer not null, firstName varchar(255) not null, lastName varchar(255) not null, address varchar(255) not null, houseNumber integer, houseStreet varchar(255), houseZipCode varchar(255), houseCity varchar(255), unique (firstName, lastName, address))
2026-05-19 05:31:23	DEBUG	DDLDeployer	alter table Person add constraint FK_8b87d9bd foreign key(houseNumber, houseStreet, houseZipCode, houseCity) references House(number, street, zipCode, city)
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into House(number, street, zipCode, city) values (?, ?, ?, ?) | {1={House.zipCode=888, House.city=CodeFilarete City, House.number=42, House.street=Stalactite street}}
2026-05-19 05:31:23	DEBUG	SQLOperation	Batching statement 1 times
2026-05-19 05:31:23	TRACE	SQLOperation	insert into Person(age, firstName, lastName, address, houseZipCode, houseCity, houseStreet, houseNumber) values (?, ?, ?, ?, ?, ?, ?, ?) | {1={Person.houseZipCode=888, Person.houseCity=CodeFilarete City, Person.age=35, Person.houseStreet=Stalactite street, Person.firstName=John, Person.address=nowhere, Person.houseNumber=42, Person.lastName=Do}}
2026-05-19 05:31:23	DEBUG	SimpleRelationalEntityPersister	selecting entities [PersonId{firstName='John', lastName='Do', address='nowhere'}]
2026-05-19 05:31:23	TRACE	SQLOperation	select Person.age as Person_age, Person.firstName as Person_firstName, Person.lastName as Person_lastName, Person.address as Person_address, house.number as house_number, house.street as house_street, house.zipCode as house_zipCode, house.city as house_city from Person left outer join House as house on Person.houseNumber = house.number and Person.houseStreet = house.street and Person.houseZipCode = house.zipCode and Person.houseCity = house.city where (Person.firstName, Person.lastName, Person.address) in ((?, ?, ?)) | {1=John, 2=Do, 3=nowhere}
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Creating instance with o.c.s.e.r.l.JoinRoot$JoinRootRowConsumer entityType=o.c.s.e.m.c.Person
2026-05-19 05:31:23	DEBUG	EntityTreeInflater	Consuming o.c.s.e.r.l.RelationJoinNode$DefaultRelationJoinRowConsumer on object o.c.s.e.m.c.Person#PersonId{firstName='John', lastName='Do', address='nowhere'}
]]></system-out>
  </testcase>
</testsuite>