2011-02-06 14 views
1

エンティティのIDとして使用する必要があるカスタムクラスがあります。カスタムクラスをJPA Idとして使用する方法

public class ProductId { 
private final String id; 

public ProductId(String id) { 
    this.id = id; 
} 

public String getId() { 
    return id; 
} 

@Override 
public boolean equals(Object o) { 
    if (this == o) { 
     return true; 
    } 
    if (!(o instanceof ProductId)) { 
     return false; 
    } 

    ProductId productId = (ProductId) o; 

    if (!id.equals(productId.id)) { 
     return false; 
    } 

    return true; 
} 

@Override 
public int hashCode() { 
    return id.hashCode(); 
} 

}

どのように私はJPAエンティティのId列としてこれを使用することができますが、以下のように見えます。それは私があなたが@Embeddableを使用してIDクラスに注釈を付けると@EmbeddedIdとして、最終的なエンティティ内のフィールドに注釈を付けることができます春ROO

答えて

0

と一致する必要があります

roo> entity --class ~.YourClass --identifierType your.package.ProductId 

本文参照:012 --identifierTypeパラメータを使用してIDクラスを指定

関連する問題