Criação de Tabela com Hibernate

Bom dia, estou lendo o livro programação java web, atualmente estou no capitulo 6.
Porem estou com um problema, na criação da tabela atraves de anotações.

O trecho do livro diz o seguinte.:

aqui é o trecho do mapeamento na classe Usuario

@ElementCollection(targetClass = String.class) @JoinTable( name="usuario_permissao", uniqueConstraints = {@UniqueConstraint(columnNames = {"usuario","permissao"})}, joinColumns = @JoinColumn(name = "usuario")) @Column(name = "permissao", length=50)

O problema é que essa tabela não foi criada. Alguem sabe como posso resolver esse problema ?

O será que o jeito vai ser cria-la no braço ?
O problema é que eu não tenho certeza se o campo usuario é chave primaria e auto increment!!!

create table usuario_permissao (usuario int(11) not null auto_increment primary key, permissao varchar(255) not null)

ta certo o nome do banco na qual você está criando a tabela? ele existe? a principio não vejo nenhum erro

Em nenhum momento no mapeamento acima eu especifico o banco, mas o banco existe siim !!

:idea: :idea: :idea:

Por isso cara! Não sei se você criou alguma classe de coneção, nessa classe você especifica o banco que está utilizando! O hibernate te possibilita isso, você não precisa criar as colunas, e etc! Apenas o banco. Você deve criar um connectionFactory na qual vai fazer a coneção com o banco. Sem ela o hibernate não saberá onde criar as tabelas e etc, me entende?

No guj acho que esses artigos podem te ajudar:

http://www.guj.com.br/articles/125

http://www.guj.com.br/articles/182

augustovieira, eu acho que tinha me expressado mal.
Eu ja tenho tudo configurado na minha aplicação, o problema é que ele não tá conseguindo criar essa tabela, com esse mapeamento…

:idea:

alguem ajuda por favor

Estou tentando colocar o spring security pra rodar e para isso uso uma classe Usuario e estou querendo fazer um @JoinTable para uma tabela usuario_permissao. A ideia é que possa ter varias permissões como: ROLE_USUARIO e ROLE_ADMINISTRADOR para o mesmo usuario.
O problema é que ele não tá criando essa tabela

[code]@Entity
public class Usuario implements Serializable {

private static final long serialVersionUID = -7390392097656238443L;

@Id
@GeneratedValue
private Integer codigo;
private String nome;
private String email;
@org.hibernate.annotations.NaturalId
private String login;
private String senha;
@Temporal(javax.persistence.TemporalType.DATE)
private Date nascimento;
private String celular;
private String idioma;
private boolean  ativo;    

@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>();

//getter e setter
//equals e hashcode
[/code]

Bom dia.
Da uma olhada neste exemplo de implementação.
http://javafaces.wordpress.com/2011/01/03/spring-security-hibernate/
http://www.guj.com.br/java/276506-jsf2–primefaces–hibernate–spring-security-3-resolvido
Utilizo Spring Security e lembro que deu um pouco de trabalho para aprende, mas ajuda muito na parte de desenvolvimento devido ao padrões de criação de regra.
Na minha classe usuário.

@JoinTable(name = "usuario_permissao", joinColumns = @JoinColumn(name = "id_usuario"), inverseJoinColumns = @JoinColumn(name = "id_permissao")) private List<permissao> listaPermissao;
O hibernate cria a tabela “usuario_permissao” normalmente.
Espero que ajude.