Problemas com Spring Security+Hibernate e JSF

Olá amigos,

Estou seguindo o livro programação java para web da novatec e cheguei na parte de usar o Spring Security, a parte do spring até que fiz direito sem grandes problemas, porem no momento de alterar a classe para fazer a presistencia de uma tabela usuario_permissao que guardará o codigo dos usuarios e as permissões, no netbeans 7.1.2 esta acontecendo o seguinte erro:

Criação inicial do objeto SessionFactory falhou. Erro: org.hibernate.MappingException: Could not determine type for: java.util.Set, for columns: [org.hibernate.mapping.Column(permissao)] 16:00:23.720 [Thread-9] DEBUG o.s.web.filter.DelegatingFilterProxy - Initializing filter 'springSecurityFilterChain' 16:00:23.727 [stop children - Catalina:j2eeType=WebModule,name=//localhost/Financeiro,J2EEApplication=none,J2EEServer=none] INFO o.s.w.c.s.XmlWebApplicationContext - Closing Root WebApplicationContext: startup date [Wed Jun 06 16:00:22 GMT-03:00 2012]; root of context hierarchy 16:00:23.727 [stop children - Catalina:j2eeType=WebModule,name=//localhost/Financeiro,J2EEApplication=none,J2EEServer=none] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of singleton bean 'lifecycleProcessor' 16:00:23.728 [stop children - Catalina:j2eeType=WebModule,name=//localhost/Financeiro,J2EEApplication=none,J2EEServer=none] INFO o.s.b.f.s.DefaultListableBeanFactory - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@7fa3eaa8: defining beans [financeiroDataSource]; root of factory hierarchy 06/06/2012 16:00:23 org.apache.catalina.core.StandardContext startInternal GRAVE: Error filterStart 06/06/2012 16:00:23 org.apache.catalina.core.StandardContext startInternal GRAVE: Context [/Financeiro] startup failed due to previous errors

O codigo que estou usando na classe Usuario.java que é o mesmo do livro é:

@ElementCollection(targetClass = String.class) @JoinTable( name="usuario_permissao", uniqueConstraints={@UniqueConstraint(columnNames={"usuario","permissao"})}, joinColumns= @JoinColumn(name = "usuario")) @Column(name = "permissao",length=50) private Set<String> permissao = new HashSet<String>();

E estranhamente o @ElementCollection no Netbeans diz que cannot find symbol.

Agradeço desde já quem poder me ajudar.

abraços.