Maybe I'm just missing something, but I thought that iBATIS required the
objects used in a result map to have declared setters.
I was in the process if I could figure out a way to use a builder pattern to
get immutable objects through iBATOR and was working my way through a sample
application.
To my surprise, when I removed the setters from my domain object, everything
still seemed to work.
Did I miss this functionality being introduced?
Thanks,
Dan Turkenkopf
Here's my domain object:
public class Master {
private String id;
private String firstName;
private String lastName;
/**
* @return the firstName
*/
public String getFirstName() {
return firstName;
}
/**
* @return the id
*/
public String getId() {
return id;
}
/**
* @return the lastName
*/
public String getLastName() {
return lastName;
}
And here's my SQL Map:
<sqlMap namespace="Master">
<!-- Result maps describe the mapping between the columns returned
from a query, and the class properties. A result map isn't
necessary if the columns (or aliases) match to the properties
exactly. -->
<resultMap id="MasterResult"
class="com.techegesis.immutable.domain.Master">
<result property="id" column="lahmanid"/>
<result property="firstName" column="nameFirst"/>
<result property="lastName" column="nameLast"/>
</resultMap>
<!-- Select with no parameters using the result map for Master class. -->
<select id="selectAllMasters" resultMap="MasterResult">
select * from MASTER
</select>
</sqlMap>