Atributo de composite key não reconhecido

Estou enfrentando um problema estranho com o Hibernate.

Eu tenho o seguinte mapeamento:

@Entity
@Table("TABELA_A")
public class A implements Serializable{

	@EmbeddedId

		@AttributeOverrides({@AttributeOverride(name="pk1",column=@Column(name="pk1",columnDefinition="int",nullable=false)),
		                 @AttributeOverride(name="pk2",column=@Column(name="pk2",columnDefinition="int",nullable=false)),
		                 @AttributeOverride(name="pk3",column=@Column(name="pk3",columnDefinition="smalldatetime",nullable=false))})
	PKClass pk =new PKClass();

	@OneToMany
	private List<B> bs;
        ...
}

@Embeddable
public class PKClass implements Serializable{ 
	@Column(name="pk1",columnDefinition="int",nullable=false)
    private int pk1;
	
	@Column(name="pk2",columnDefinition="int",nullable=false)
	private int pk2;
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="pk3",columnDefinition="smalldatetime",nullable=false)
	private Date pk3;
        ...
}

@Entity
@Table("TABELA_B")
public class B implements Serializable{
...
}

Nesse mapeamento, o Hibernate não está reconhecendo o campo pk3(do tipo Date) como atributo da chave primária de A, disparando a seguinte exceção:

Foreign key (FK80579693F792A7A3:FK_TABELA_B_A [pk1,pk2,pk3])) must have same number of columns as the referenced primary key (TABELA_A [pk1,pk2])

Percebam que o erro ocorre no mapeamento da chave primária de A, especificamente com o campo do tipo date, que está sendo solenemente ignorado.
Não descobri o motivo do erro, se alguém tiver uma dica será ótimo.