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.
 
Mobile:  99491 83303.
==============================
 


From: Mkhitaryan, Aram [mailto:[EMAIL PROTECTED]
Sent: Thursday, July 27, 2006 5:28 PM
To: [email protected]
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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Thursday, July 27, 2006 4:24 PM
To: [email protected]
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:[EMAIL PROTECTED]
Sent: Thursday, July 27, 2006 4:36 PM
To: [email protected]
Subject: RE: Need help---Mapping of Complex properties

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

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Thursday, July 27, 2006 4:03 PM
To: [email protected]
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 : [EMAIL PROTECTED]

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

Reply via email to