2011-02-06 2 views
1

У меня есть пользовательский класс, который я должен использовать как идентификатор для объекта. Он выглядит следующим образомКак использовать пользовательский класс как 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(); 
} 

}

Как я могу использовать это в качестве столбца Id для объекта JPA. Будет ли это быть вдоль линий

@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
@Column(name = "id") 
private ProductId id; 

Я получаю вдохновение и руководство от кода, генерируемого Spring РОО

ответ

Смежные вопросы