CHAPTER 6 n MAPPING WITH (Ftp web hosting) ANNOTATIONS 107 n
CHAPTER 6 n MAPPING WITH ANNOTATIONS 107 n MAPPING WITH ANNOTATIONS 107 public Integer getNumber() { return this.number; } public void setNumber(Integer number) { this.number = number; } public void setCode(String code) { this.code = code; } public int hashCode() { int hashCode = 0; if( code != null ) hashCode ^= code.hashCode(); if( number != null ) hashCode ^= number.hashCode(); return hashCode; } public boolean equals(Object obj) { if( !(obj instanceof AccountPk) ) return false; AccountPk target = (AccountPk)obj; return ((this.code == null) ? (target.code == null) : this.code.equals(target.code)) && ((this.number == null) ? (target.number == null) : this.number.equals(target.number)); } } } The next most natural approach is the use of the @EmbeddedId tag. Here, the primary key class cannot be used in other tables since it is not an @Embeddable entity, but it does allow us to treat the key as a single attribute of the Account class (in Listings 6-7 and 6-8, the implementation of AccountPk is identical to that in Listing 6-6, and is thus omitted for brevity). Note that in Listings 6-7 and 6-8, the AccountPk class is not marked as @Embeddable. Listing 6-7. Using the @EmbeddedId Annotation to Map a Compound Primary Key package com.hibernatebook.annotations; import javax.persistence.*; @Entity public class Account { private String description; private AccountPk id;
Note: In case you are looking for affordable webhost to host and run your web application check Vision http web server services