This week's book giveaway is in the Mac OS forum.
We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line!
See this thread for details.
The moose likes Object Relational Mapping and the fly likes Mapping Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "Mapping" Watch "Mapping" New topic
Author

Mapping

TJim
Greenhorn

Joined: Oct 17, 2005
Posts: 2
Hi!!

can someone please give me solution to this problem........

I have two tables; 1) User, 2) Address with a one-to-many relation
(a User can have many addresses). I declared a list in User mapping.
But when I call user.getAddressList(), the first element in the list
is always null.

For example, if I have 5 Address records, when I call
user.getAddressList(), I am getting a List of size=5. But the first
element in the list is null and the remaining 4 elements are valid
records.

thx & rgds,
TJim.
Paul Sturrock
Bartender

Joined: Apr 14, 2004
Posts: 10336

Can you show us your mapping files, and the code you use to get a user and their addresses?


JavaRanch FAQ HowToAskQuestionsOnJavaRanch
TJim
Greenhorn

Joined: Oct 17, 2005
Posts: 2
Originally posted by Paul Sturrock:
Can you show us your mapping files, and the code you use to get a user and their addresses?


Hi

I have the following problem in Listing the records.
When I try to list the records the first record is always null.

My Hibernate version:2.1.7

Problem:
==========

I have two tables;


1) User

2) Card with a one-to-many relation
(a User can have many addresses).


I declared a list in User mapping.
=================================

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

<hibernate-mapping package="com.smarteck.smartsecurity.users">
<class name="SmartUser" table="SmartUser">
<id
column="userId"
name="userId"
type="integer"
>
<generator class="sequence">
<param name="sequence">UserIdSeq</param>
</generator>
</id>
<list inverse="true" name="cardListByOwnerUser">
<key column="ownerUser" />
<index column="cardNo" />
<one-to-many class="com.smarteck.smartcrm.cards.Card" />
</list>
</class>

</hibernate-mapping>




following is the mapping for card Table:
=========================================


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

<hibernate-mapping package="com.smarteck.smartcrm.cards">
<class name="Card" table="Card">
<composite-id class="com.smarteck.smartcrm.cards.CardPK" name="cardPK">
<key-property
column="cardNo"
name="cardNo"
type="integer"
/>
<key-many-to-one
class="com.smarteck.smartsecurity.users.SmartUser"
column="ownerUser"
name="ownerUser"
/>
</composite-id>
<property
column="nameOnCard"
length="255"
name="nameOnCard"
not-null="false"
type="string"
/>
</class>
</hibernate-mapping>


The Code in Struts Action:
===========================


Session s = getSession();
Criteria c = s.createCriteria(SmartUser.class);
List userList = crit.list();


// Session committed and closed here
// List object put in HttpServletRequest





Following code is in the jsp
=================================

// Get the userList from request

for(int i=0; i<userList.size(); i++) {
SmartUser user = (SmartUser) userList.get(i);
List cardList = user.getCardListByOwnerUser(); // In this list, always first element is null
for (j=0; j<cardList.size(); j++) {
Card card = (Card) cardList.get(j);
System.out.println("Card="+card);
}
}


For example, if I have 5 Card records, when I call
user.getCardListByOwnerUser(), I am getting a List of size=5.


when I call user.getCardListByOwnerUser(), the first element in the list
is always null.


But the first element in the list is null and the remaining 4 elements are valid records.


Any suggestions??


thx & rgds,
Jim
Paul Sturrock
Bartender

Joined: Apr 14, 2004
Posts: 10336

Why have you given your child table a composite key which includes the parent id? Not a criticism as such, just curious.
Mark Spritzler
ranger
Sheriff

Joined: Feb 05, 2001
Posts: 17250
    
    6

"TJim"-
Welcome to the JavaRanch! Please adjust your displayed name to meet the

JavaRanch Naming Policy.

You can change it

here.

Thanks! and welcome to the JavaRanch!

Mark


Perfect World Programming, LLC - Two Laptop Bag - Tube Organizer
How to Ask Questions the Smart Way FAQ
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Mapping