This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I am currently working on a code in hibernate. you know you have the id field in hibernate mapping files,
I understand that the id is mandatory in hibernate and is used to describe the primary key of the table. But my table does not have a primary key since the values of the column can repeat themselves without restriction. But since it is mandatory to define a primary key in hibernate it conflicts with my db and throws an exception when i try to insert duplicate values, like the NonUniqueObjectException Exception.
So is it really "mandatory" to define id in hibernate? Or is it possible to do without it? Or is there another way to resolve this issue....
it is must to be identified each object (row of table) uniquely in hibernate.so each object gets its uniqueness using either primary key or composite primary key.if you dont specify primary key or composite key in a table , then you can form composite key using all columns of a table.
Multiple copies of same record in a table is known as redundancy, & this should always be avoided as much as possible. You can have the id field auto-generated instead of keeping it assigned. This should solve your problem.