This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Object Relational Mapping and the fly likes Mapping relationship with partial composite key column Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "Mapping relationship with partial composite key column" Watch "Mapping relationship with partial composite key column" New topic
Author

Mapping relationship with partial composite key column

Michael A Hoffman
Ranch Hand

Joined: Mar 04, 2009
Posts: 36

Working on Hibernate 3.2.4ga, calling Oracle 10. It is likely I am not setting this up properly; however, here is my case.

I have 2 legacy database tables. The first table is called "TITLES". It contains a fk with the column name "TITL_BOOK_CAT". The second table is called "BOOKCAT_ACCESS" and contains a non-generated/non-sequential composite pk of columns named "BCCA_BOOK_CATEGORY" and "BCCA_ACCESS_LVL".

My goal is to setup a relationship between the Titles and BookCatAccess entities such that each Title could have one to many BookCatAccess entities. I have tried various ways to map this relationship; however, I have not been able to get the results I expected.

Below is the source code:

@Entity
@Table(name="TITLES")
public class Titles {
...
@Column(name="TITL_BOOK_CAT")
private String titleBookCat;

...<getters and setters for titleBookCat>...

@OneToMany
@JoinColumn(name="BCCA_BOOK_CATEGORY", referencedColumnName="TITL_BOOK_CAT")
private List<BookCatAccess> bookCategoryAccessList;

...<getters and setters for bookCategoryAccessList>...

}

@Entity
@Table(name="BOOKCAT_ACCESS")
public class BookCatAccess {

@EmbeddedId
private BookCatAccessId id;

...<getters and setters for id>...

@Embeddable
public class BookCatAccessId implements Serializable {
@Column(name="BCCA_BOOK_CATEGORY")
private String bookCategory;

@Column(name="BCCA_ACCESS_LVL")
private Long accessLevel;
}
}

I do not get SQL back as this call results in a ClassCastException.

Any direction or advice would be helpful.

Mike

 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Mapping relationship with partial composite key column
 
Similar Threads
Problem with JPA Embeddable class field in Embedded
can anyone solve my problem with many to many mapping
JPA mapping question
SecondaryTable Mapping
A sense of style: @OneToMany or @ElementCollection?