More than one row with the given identifier was found: 10, for class

Pessoal,

Estou tendo esse erro:

O ItemAtributoItemDomain :

@SuppressWarnings("serial")
@Entity
@Table(name="CRP_ITEM_ATRIBUTO_ITEM")
public class ItemAtributoItemDomain implements Serializable, Cloneable {
	
	@Basic
	@Column(name = "COD_GRUPO_ATRIBUTO_ITEM", unique=true)
	private Long codGrupoAtributoItem;
	
	@Id
	@Version
	@Basic
	@Column(name = "COD_ATRIBUTO_ITEM")
	private Long codAtributoItem;
	
	@Basic
	@Column(name = "COD_ITEM", unique=true)
	private Long codItem;

	@Basic
	@Column(name = "DSC_ATRIBUTO_ITEM")
	private String dscAtributoItem;

	@Basic
	@Column(name = "COD_DOMINIO_ATRIBUTO")
	private Long codDominioAtributo;

	@Basic
	@Column(name = "DAT_INC")
	private Date datInc;

	@Basic
	@Column(name = "COD_USU_INC")
	private String codUsuInc;

	@Basic
	@Column(name = "DAT_ALT")
	private Date datAlt;
	
	@Basic
	@Column(name = "COD_USU_ALT")
	private String codUsuAlt;

	@Basic
	@Column(name = "DAT_EXC")
	private Date datExc;

	@Basic
	@Column(name = "COD_USU_EXC")
	private String codUsuExc;

	@Basic
	@Column(name = "COD_SIS_INC_SO")
	private String codSisIncSo;

	@Basic
	@Column(name = "COD_SIS_ALT_SO")
	private String codSisAltSo;

	@Basic
	@Column(name = "COD_SIS_EXC_SO")
	private String codSisExcSo;

	@Basic
	@Column(name = "COD_USU_INC_SO")
	private String codUsuIncSo;

	@Basic
	@Column(name = "COD_USU_ALT_SO")
	private String codUsuAltSo;

	@Basic
	@Column(name = "COD_USU_EXC_SO")
	private String codUsuExcSo;

	@Basic
	@Column(name = "DAT_INC_SO")
	private Date datIncSo;

	@Basic
	@Column(name = "DAT_ALT_SO")
	private Date datAltSo;

	@Basic
	@Column(name = "DAT_EXC_SO")
	private Date datExcSo;

	/**
	 * * Mapeia domain DominioAtributo (Subtipo do Item)
	 */
	@ManyToOne(cascade={CascadeType.ALL}, fetch=FetchType.EAGER, targetEntity=DominioAtributoDomain.class)
	@Transient
	private DominioAtributoDomain subtipo;

Alguém pode me dar uma ajuda?

Cara,

Um problema que eu estou vendo aí no seu código é que a mesma coluna está anotada com @ID e @VERSION.
O @ID seria a chave primária e o @VERSION uma coluna utilizada apenas para indicar a versão do registro para auxiliar com o “optmisitic locking”.
A idéia é que a cada vez que o Hibernate salve o objeto ele verifique se o objeto está com a mesma versão de que ele foi carregado, senão ele dá um erro dizendo que a versão está desatualizada.
Eu não vejo como uma coluna de chave primária poderia ser usada para versão também

http://java.sun.com/javaee/5/docs/api/javax/persistence/Version.html
http://www.hibernate.org/hib_docs/reference/en/html/mapping.html#mapping-declaration-version

Mas voltando ao seu erro.

Isso pode ser um problema com a sua chave primária, só o campo COD_ATRIBUTO_ITEM faz parte da chave primária?
Se você fizer um select tipo:

Irá trazer apenas uma linha?
Por que parece que é disso que o Hibernate está reclamando

Amigo…obrigado por responder.

Pelo que vi, essa tabela tem multiplos primary keys:

Então não sei como eu mapearia isso pelo hibernate. :S

Tentei usar o @EmbeddedId para as chaves compostas mas esta dando esse erro: