As I wrote, I have 3 classes. Each of them have a lot props.
I want to get all the values from the class3 calling select all
from class1.
On 15/03/07, Bob Hanson <[EMAIL PROTECTED]> wrote:
No you don't have to use properties. But the "Property" attribute in
the result map has to match a property or field in your class. So when
you used Test, I didn't know what you were trying to map to.
I'm still not positive what you are trying to do. A result map maps a
column from a database table to a property/field in a class. As I said
in my first reply, your original example showed you trying to map a
Class3 type into a property declared as type Class2. The error message
you were receiving indicates exactly that.
Your rmSelectClass1 result map needs to be:
<resultMap id="rmSelectClass1" class="Class1">
<result property="Id" column="ID"/>
<result property="Test" column="Test" select="SelectClass2"/>
</resultMap>
And then you need to define a result map for Class2.
On 3/15/07, Jakub Scheibe <[EMAIL PROTECTED]> wrote:
> Ok here are my simplified classes
>
> public class Class1
> {
>
> couple of props and methods
>
> public Class2 Class2
> {
> get
> {
> return _Class2;
> }
> set
> {
> _Class2 = value;
> }
> }
>
> public class Class2
> {
> private Class3 Class3;
>
> public Class3
> {
> get
> {
> return _Class3
> }
> set
> {
> _Class3 = value;
> }
> }
>
> and Class3 with some props and methods.
>
> Do I really need to declare any prop ? Test was just an example of
> any property that i have in the classes.
>
>
> On 15/03/07, Bob Hanson < [EMAIL PROTECTED]> wrote:
> > Based on your example, class1 contains a public instance of class2,
not
> class3.
> >
> > You also don't show any property named Test on your classes. If class1
> > has a property named Test which is declared as "public class2 Test",
> > then your result map for class1 needs to select a class2 object
> > instead of a class3 object.
> >
> > On 3/15/07, Jakub Scheibe <[EMAIL PROTECTED]> wrote:
> > > Hi,
> > >
> > > I have 3 classes:
> > >
> > > class1
> > > {
> > > public string id;
> > > public class2 _class2;
> > > }
> > >
> > > class2
> > > {
> > > public class3 _class3;
> > > }
> > >
> > > class3
> > > {
> > > public string test;
> > > }
> > >
> > > The problem is when I'm trying to execute select command.
> > > I have 2 sqlmap.xml file for class1 and class3.
> > > f.e.
> > >
> > > class1.xml
> > >
> > > <resultMap id="rmSelectClass1" class="Class1">
> > > <result property="Id" column="ID"/>
> > > <result property="Test" column="Test" select="SelectClass3"/>
> > > </resultMap>
> > >
> > > <select id="Class1Select" resultMap="rmSelectClass1">
> > > select *
> > > from my_table
> > > </select>
> > >
> > > class3.xml
> > >
> > > <resultMap id="rmSelectClass3" class="Class3">
> > > <result property="Test" column="Test"/>
> > > </resultMap>
> > >
> > > <select id="SelectClass3" resultMap="rmClass3"">
> > > select Test
> > > from my_table2
> > > </select>
> > >
> > > When i'm runing my test i'm getting following error:
> > > Unable to cast object of type 'Class3' to type 'Class2'
> > >
> > > Any help?
> > >
> >
>
>