File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Object Relational Mapping and the fly likes Hibernate on DB's w/o Primary Keys Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "Hibernate on DB Watch "Hibernate on DB New topic

Hibernate on DB's w/o Primary Keys

Lavie Tobey

Joined: Oct 13, 2008
Posts: 3
Hey All -

This is my first post here, so go easy on me

The system I am working on has 2 main databases (we'll call them DB1 and DB2), with tables spread among several schemas. DB2 is accessed via synonyms in DB1, so the application only logs into DB1. To complicate things, tables in DB1 have foreign key mappings into tables in DB2. The tables in DB2 don't have primary keys, only unique indexes.

So, middlegen is not giving me very accurate HBM files. It is basically giving me a class that has no relation to any other table, and it has a composite-id made out of every column.

Has anyone out there dealt with this? I'm not really sure what other information you might need to help me with this, so please ask if I left some stuff out (which I'm sure I did).

Thanks a ton!
Paul Sturrock

Joined: Apr 14, 2004
Posts: 10336

Welcome to JavaRanch Lavie

Unique indices should be enough to uniquely identify rows, so the lack of PKs shouldn't be an issue in that regards. You can map your id property to the fields in the unique index and use an "assigned" key generator.

Of course, you can't have any real referential integrity if you don't use PKs, so that is presumably why middlegen is not producing mapping files with associations. I'd revert to manually writing your mapping files. A little tedious, but if you don't have a proper relational data model to work with there is not much else you can do I'm afraid.

JavaRanch FAQ HowToAskQuestionsOnJavaRanch
Lavie Tobey

Joined: Oct 13, 2008
Posts: 3
I was afraid of that

Thanks for the response!
I agree. Here's the link:
subject: Hibernate on DB's w/o Primary Keys
It's not a secret anymore!