ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mkhitaryan, Aram" <Aram.Mkhitar...@lycos-europe.com>
Subject RE: Need help---Mapping of Complex properties
Date Thu, 27 Jul 2006 12:27:49 GMT
Now it is clear.

 

You have to write a select statement which will return all property names and values.

You have to define a new result map which will map result from first select to your UserProperties
class.

 

You have to change result map for user select and for property properties you should specify
only attribute select=”result-map-name-of-userproperties”.

 

And after enabling lazy loading from settings tag, lazyLoadingEnabled=”true” attribute,
everything should work properly.

 

I hope I describe clear enough so that you can configure perfectly.

 

Best,

Aram

 

________________________________

From: rambabu.piridi@wipro.com [mailto:rambabu.piridi@wipro.com] 
Sent: Thursday, July 27, 2006 5:09 PM
To: user-java@ibatis.apache.org
Subject: RE: Need help---Mapping of Complex properties

 

The scenario is like this.

 

User table: user Id, role, description

User Properties info:  user Id, property name, property value.

 

 

For one user there can be multiple user properties like this.

 

User table: 

user Id, role, description

xyz,1,jfdjfjl

abc,2,dljldjf

 

and 

User Properties info

user Id, property name, property value

xyz,city,tokyo

xyz,phone,65809877

xyz,desg,manager

 

Here one user can contain multiple user properties.

 

Now tell me the query how to map.

there are my java bean classes. 

 

public class User

{

   String userId;

   int role;

   String description;

  List<UserProperties> properties; // This stores the list of user properties objects.

}

 

public class UserProperties

{

  String userId;

  String propertyName;

  String propertyValue;

}

 

Is there wrong with my bean classes ?.  If not please suggest the query how to write in Ibatis
for lazy loading.

 

Thanks n Regards,

=============================

Rambabu Piridi.

Software Engineer,

Wipro Technologies,

Madhapur,

Hyderabad.

 

e-Mail : rambabu.piridi@wipro.com <mailto:rambabu.piridi@wipro.com> 

Mobile:  99491 83303.

==============================

 

 

________________________________

From: Mkhitaryan, Aram [mailto:Aram.Mkhitaryan@lycos-europe.com] 
Sent: Thursday, July 27, 2006 5:28 PM
To: user-java@ibatis.apache.org
Subject: RE: Need help---Mapping of Complex properties

First of all, try using JavaBeans, which means use bean object with public getters and setters
and make properties private.

 

For your question I have no answer since I have never met a sample mapping for these kinds
of mappings.

 

IBatis mapping uses java property name and column name (or index). 

If these names are generic (depends on sql statement result) I think it is not possible to
configure mapping for this.

 

Best,

Aram

 

________________________________

From: rambabu.piridi@wipro.com [mailto:rambabu.piridi@wipro.com] 
Sent: Thursday, July 27, 2006 4:24 PM
To: user-java@ibatis.apache.org
Subject: RE: Need help---Mapping of Complex properties

 

 

Hi Mkhitaryan,

 

I have a bean class User.java

 

public class User
{
  String id;
  String name;
  List  propList;
}

 

I have two tables to map the user object

 

The first table will store the id and name of the user

 

id   name

---  --------

 

 and the second table is used to store the List of properties of the User.

 

The structure of the second table is 

 

id        propName        propVal

----       --------------        ------------

 

Here id is the foeign key from the First table. There can be any number of properties can
exists for a single user. 

 

can you please provide me the Ibatis mapping for this query using the lazy initalization.

 

Thanks n Regards,

=============================

Rambabu Piridi.

 

________________________________

From: Mkhitaryan, Aram [mailto:Aram.Mkhitaryan@lycos-europe.com] 
Sent: Thursday, July 27, 2006 4:36 PM
To: user-java@ibatis.apache.org
Subject: RE: Need help---Mapping of Complex properties

Value from this (PRD_CAT_ID) column will be used in the lazy statement (getCategory).

 

________________________________

From: rambabu.piridi@wipro.com [mailto:rambabu.piridi@wipro.com] 
Sent: Thursday, July 27, 2006 4:03 PM
To: user-java@ibatis.apache.org
Subject: Need help---Mapping of Complex properties

 

I am using this(This is mentioned in the Ibatis doc) to load the data.

<resultMap id=”get-product-result” class=”com.ibatis.example.Product”>

<result property=”id” column=”PRD_ID”/>

<result property=”description” column=”PRD_DESCRIPTION”/>

<result property=”category” column=”PRD_CAT_ID” select=”getCategory”/>

</resultMap>

<resultMap id=”get-category-result” class=”com.ibatis.example.Category”>

<result property=”id” column=”CAT_ID”/>

<result property=”description” column=”CAT_DESCRIPTION”/>

</resultMap>

<statement id=”getProduct” parameterClass=”int” resultMap=”get-product-result”>

select * from PRODUCT where PRD_ID = #value#

</statement>

<statement id=”getCategory” parameterClass=”int” resultMap=”get-category-result”>

select * from CATEGORY where CAT_ID = #value#

</statement>


I have similar requirement to do lazy initalization. what is the column PRD_CAT_ID in this
?.

 

 

Thanks n Regards,

=============================

Rambabu Piridi.

Software Engineer,

Wipro Technologies,

Madhapur,

Hyderabad.

 

e-Mail : rambabu.piridi@wipro.com <mailto:rambabu.piridi@wipro.com> 

Mobile:  99491 83303.

==============================

 


The information contained in this electronic message and any attachments to this message are
intended for the exclusive use of the addressee(s) and may contain proprietary, confidential
or privileged information. If you are not the intended recipient, you should not disseminate,
distribute or copy this e-mail. Please notify the sender immediately and destroy all copies
of this message and any attachments. 

WARNING: Computer viruses can be transmitted via email. The recipient should check this email
and any attachments for the presence of viruses. The company accepts no liability for any
damage caused by any virus transmitted by this email.

www.wipro.com

 


The information contained in this electronic message and any attachments to this message are
intended for the exclusive use of the addressee(s) and may contain proprietary, confidential
or privileged information. If you are not the intended recipient, you should not disseminate,
distribute or copy this e-mail. Please notify the sender immediately and destroy all copies
of this message and any attachments. 

WARNING: Computer viruses can be transmitted via email. The recipient should check this email
and any attachments for the presence of viruses. The company accepts no liability for any
damage caused by any virus transmitted by this email.

www.wipro.com

 


The information contained in this electronic message and any attachments to this message are
intended for the exclusive use of the addressee(s) and may contain proprietary, confidential
or privileged information. If you are not the intended recipient, you should not disseminate,
distribute or copy this e-mail. Please notify the sender immediately and destroy all copies
of this message and any attachments. 

WARNING: Computer viruses can be transmitted via email. The recipient should check this email
and any attachments for the presence of viruses. The company accepts no liability for any
damage caused by any virus transmitted by this email.

www.wipro.com
	
Mime
View raw message