package org.hibernate.examples.mapping.compositeId.embeddable; import lombok.Getter; import org.hibernate.examples.model.AbstractValueObject; import org.hibernate.examples.utils.HashTool; import org.hibernate.examples.utils.ToStringHelper; import javax.persistence.Column; import javax.persistence.Embeddable; /** * org.hibernate.examples.mapping.compositeId.embeddable.EmbeddableCarIdentifier * * @author 배성혁 sunghyouk.bae@gmail.com * @since 2013. 11. 29. 오후 4:40 */ @Embeddable @Getter public class EmbeddableCarIdentifier extends AbstractValueObject { @Column(name = "brand", nullable = false, length = 32) private String brand; @Column(name = "releaseYear", nullable = false) private int year; protected EmbeddableCarIdentifier() {} public EmbeddableCarIdentifier(String brand, int year) { this.brand = brand; this.year = year; } @Override public int hashCode() { return HashTool.compute(brand, year); } @Override public ToStringHelper buildStringHelper() { return super.buildStringHelper() .add("brand", brand) .add("year", year); } private static final long serialVersionUID = -1715963785986881704L; }