Enterprise Java Development@TOPIC@

Chapter 49. Composite Primary Keys

49.1. Example Composite Primary Key Class
49.2. Composite @IdClass
49.3. Composite @EmbeddedId
49.4. Composite Overrides
49.5. Composite Primary Key Summary
package ejava.examples.orm.core;


import java.io.Serializable;
public class MowerPK implements Serializable {
    private static final long serialVersionUID = 1L;
    private String make;
    private String model;
    
    public MowerPK() {}
    public MowerPK(String make, String model) {
        this.make = make;
        this.model = model;
    }
    public String getMake() { return make; }
    public String getModel() { return model; }
    
    @Override
    public int hashCode() { return make.hashCode() + model.hashCode(); }
    @Override
    public boolean equals(Object obj) {
        try {
            if (this == obj) return true;
            return make.equals(((MowerPK)obj).getMake()) &&
                   model.equals(((MowerPK)obj).getModel());
            
        } catch (Throwable ignored) { //catch NP & Cast Exceptions 
            return false;
        }
    }
...    
}