Hibernate / Hibernate interview questions II
How do I map a composite key in Hibernate?
The EmbeddedId and IdClass annotations are used to denote composite primary keys.
The following are some of the rules that is applied for composite primary keys.
- The primary key class must be public and must have a public no-arg constructor.
- The primary key class must be serializable.
- The primary key class must define equals and hashCode methods.
Using EmbeddedId.
@Embeddable public class EntityKey implements Serializable { protected Integer compositeKey1; protected Integer compositeKey2; public EntityKey() {} public EntityKey(Integer key1, Integer key2) { this.compositeKey1 = key1; this.compositeKey2 = key2; } // equals, hashCode } @Entity public class HibernateEntity implements Serializable { @EmbeddedId private EntityKey primaryKey; private String description; //... }
Using IdClass.
public class EntityKey implements Serializable { protected Integer compositeKey1; protected Integer compositeKey2; public EntityKey() {} public EntityKey(Integer key1, Integer key2) { this.compositeKey1 = key1; this.compositeKey2 = key2; } // equals, hashCode } @Entity @IdClass(EntityKey.class) public class HibernateEntity implements Serializable { @Id private Integer compositeKey1; @Id private Integer compositeKey2; private String description; //... }
Dogecoin
! Earn free bitcoins up to $250 now by signing up.
Earn bitcoins upto $250 (free), invest in other Cryptocurrencies when you signup with blockfi.
Use the referral link: Signup now and earn!

Using BlockFi, don't just buy crypto - start earning on it. Open an interest account with up to 8.6% APY, trade currencies, or borrow money without selling your assets.

Join CoinBase
! We'll both receive $10 in free Bitcoin when they buy or sell their first $100 on Coinbase! Available in India also.
Use the referral Join coinbase!

Invest now!!! Get Free equity stock (US, UK only)!
Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.
The Robinhood app makes it easy to trade stocks, crypto and more.

Webull
! Receive free stock by signing up using the link: Webull signup.
More Related questions...