Erro Hibernate herança

Prezados,
Estou com um grande problema com hibernate tenho duas classes:

@Entity
@Table(name = "funcionario")
@PrimaryKeyJoinColumn(name="matricula")
public class Funcionario extends Usuario implements Visitante, Serializable{
 
	private static final long serialVersionUID = 1L;
	private char cargo;
	
gets e sets...
@Entity
@Table(name = "usuario")
@SequenceGenerator(name = "usuario_usuario_id_seq", sequenceName = "usuario_usuario_id_seq")
@Inheritance(strategy = InheritanceType.JOINED)
public class Usuario implements Visitante, Serializable{
	
	private static final long serialVersionUID = 1L;
	@Id
	@Column(name="usuario_id")
	@GeneratedValue(strategy=GenerationType.AUTO, generator="usuario_usuario_id_seq")
	private int usuario_id;
	@Column(name="nome_completo", nullable=false)
	private String nomeCompleto;
	@Column(name="nome")
	private String nome;
	@Column(name="endereco")
	private String endereco;
	@Column(name="dt_nasc", nullable=false)
	private Date dataNascimento;
	@Column(name="telefone")
	private String telefone;
	@Column(name="cpf")
	private String CPF;
	@Column(name="rg")
	private String RG;
	@Column(name="cep")
	private int cep;
	@Column(name="login")
	private String login;
	@Column(name="islogin")
	private boolean isLogin;
	@Column(name="senha")
	private String senha;

gets e sets

Quando faço essa consulta:

public Usuario consultaFuncionario(String login){
		login = login.trim();
		Query query = manager.createNativeQuery("select * from usuario where login='"+login+"'",Usuario.class);
		Usuario usuario = (Usuario)query.getSingleResult();
		query = manager.createNativeQuery("select * from funcionario where matricula='"+usuario.getUsuario_id()+"'");
		Funcionario funcionario = (Funcionario)query.getSingleResult();
		tx.commit();
		return funcionario;
	}

Me retorna o erro:

Caused by: org.postgresql.util.PSQLException: A nome da coluna clazz_ não foi encontrado neste ResultSet.
	at org.postgresql.jdbc2.AbstractJdbc2ResultSet.findColumn(AbstractJdbc2ResultSet.java:2362)
	at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getInt(AbstractJdbc2ResultSet.java:2205)
	at org.hibernate.type.IntegerType.get(IntegerType.java:51)
	at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:184)
	at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:210)
	at org.hibernate.loader.Loader.getInstanceClass(Loader.java:1466)
	at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)
	at org.hibernate.loader.Loader.getRow(Loader.java:1230)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:603)
	at org.hibernate.loader.Loader.doQuery(Loader.java:724)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
	at org.hibernate.loader.Loader.doList(Loader.java:2228)
	... 124 more

Minha classe Usuario tem os mesmo atributos que no banco,
Não faço a mínima idéia do que é "coluna clazz_ ".
Se alguém puder me ajudar eu agradeço muito!!
Valeu.

Agora estou fazendo essa consulta:

Query query = manager.createNativeQuery("select * from funcionario where matricula = (select usuario_id from usuario where login = '"+login+"')",Funcionario.class);

E volta o erro:

Caused by: org.postgresql.util.PSQLException: A nome da coluna cpf não foi encontrado neste ResultSet.

Consegui mudando o código pra isso:

public Usuario consultaFuncionario(String login){
		login = login.trim();
		Query query = manager.createNativeQuery("select usuario_id from usuario where login='"+login+"'");
		@SuppressWarnings("unchecked") 
		List<Integer> ids = (List<Integer>)query.getResultList();
		int id = ids.get(0); 
		Funcionario funcionario = manager.find(Funcionario.class,id);
		tx.commit();
		return funcionario;
	}

Valeu!