Erro: collection was not an association

Tenho um campo de busca onde eu procuro pelo cnpj da empresa, nome da empresa, numero do patrimonio dos equipamentos da empresa.
Ao buscar pelo cnpj ou pelo nome, funciona normalmente.
Ao buscar pelo numero do patrimonio, deparo-me com o seguinte erro:

br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: org.hibernate.MappingException: collection was not an association: br.com.projeto.entidade.Empresa.PatrimoniosCadastrados
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:96)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:96)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:67)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.brb.cme.infraestrutura.interceptor.PermissaoInterceptor.intercept(PermissaoInterceptor.java:38)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:44)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91)
	br.com.caelum.vraptor.ioc.guice.GuiceProvider.provideForRequest(GuiceProvider.java:82)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)

Estrutura das tabelas no banco

empresa
	numero_cnpj
	nome_estabelecimento
	data_credenciamento
	data_descredenciamento

patrimonios
	numero_cnpj
	numero_patrimonio

Classe Empresa

@Entity
@Table(name = "empresa", schema = "projetos")
public class Empresa {

	@Id
	@Column(name = "numero_cnpj")
	private Long cnpj;

	@Column(name = "nome_estabelecimento")
	private String nome;

	@ElementCollection
	@CollectionTable(name = "patrimonios", schema = "projetos", joinColumns = @JoinColumn(name = "numero_cnpj"))
	@Column(name = "numero_patrimonio")
	private Set<String> PatrimoniosCadastrados;
	
	@Embedded
	@AttributeOverrides({ @AttributeOverride(name = "dataInicio", column = @Column(name = "data_credenciamento")),
	@AttributeOverride(name = "dataFim", column = @Column(name = "data_descredenciamento")) })
	private Credenciamento credenciamento;
	
	// getters and setters
	
}

Classe Credenciamento

@Embeddable
public final class Credenciamento {

	@Type(type = "org.joda.time.contrib.hibernate.PersistentLocalDate")
	private LocalDate dataInicio;

	@Type(type = "org.joda.time.contrib.hibernate.PersistentLocalDate")
	private LocalDate dataFim;
	
	// getters and setters
	
}

Classe com o método da pesquisa

...
@SuppressWarnings("unchecked")
public List<Empresa> pesquisa(Long cnpj, String nome, String patrimonio) {
	Criteria consulta = criteria();
	if (cnpj != null && cnpj > 0) {
		consulta.add(Restrictions.eq("cnpj", cnpj));
	}

	if (nome != null && !nome.trim().isEmpty()) {
		consulta.add(Restrictions.ilike("nome", nome, MatchMode.ANYWHERE));
	}

	if (patrimonio != null && !patrimonio.trim().isEmpty()) {
		consulta = consulta.createAlias("PatrimoniosCadastrados", "p").add(Restrictions.in("p", new String[] { patrimonio }));
	}

	return consulta.list();
}

private Criteria criteria() {
	return conexao.createCriteria(Empresa.class, "e");
}

...

Alguem sabe como corrigir esse erro?

Vc precisa separar os patrimonios na consulta utilizando um Join, em HQL este exemplo responde.
http://www.java4s.com/hibernate/hibernate-left-join-hibernate-left-join-example/