私はhibernateを使用しており、equalsとhashCode()をオーバーライドする必要があります。私はgoogle-guavaのequalsとhashCodeヘルパーを使うことにしました。Google Guavaを使用してequalsとhashCodeを正しく実装しましたか?
ここに何か不足しているかどうかを知りたいと思っていました。
私はidImageとのファイルパスの取得/設定メソッドを持っています。
@Entity
@Table(name = "IMAGE")
public class ImageEntity {
private Integer idImage;
private String filePath;
@Override
public int hashCode() {
return Objects.hashCode(getFilePath());
}
@Override
public boolean equals(final Object obj) {
if(obj == this) return true;
if(obj == null) return false;
if(obj instanceof ImageEntity){
final ImageEntity otherImage = (ImageEntity) obj;
return Objects.equal(getFilePath(), otherImage.getFilePath());
}
return false;
}
}
EDIT:
は、継承に走ったとあるようhere
それは右に見える...あなたはそれで何らかのエラー/不要な動作を得ていますか? – Marcelo
@NimChimpsky idImageは、データベース内の主キーの自動インクリメント(hibernateを使用)へのIDマッピングです。 – brainydexter
@Marceloいいえ、現在ではありません。すべてがうまくいく。私は何かを逃したかどうかを知りたかっただけです。 – brainydexter