[quote=wagnerfrancisco]É essa classe mesmo.
Tente remover o addClass(Usuario.class) e adicionar esta configuração no xml. Me parece que você deve usar ou configuração programática, ou por xml.
Uma dica: o método que você colocou no construtor do DAO deveria estar numa classe separada. Você precisará delas em diversos lugares, não apenas neste DAO (vc não precisa efetuar o setup do hibernate para cada DAO). Procure por HibernateUtil, que é uma das maneiras de isolar esta configuração.[/quote]
Seguinte, fiz como você disse e pesquisei e criei a HibernateUtil e fiz uma DAO generica passando o objeto e na Util ele faz o procedimento (ainda não testei), porém antes de continuar eu criei uma classe geradora de tabelas:
[code]public class GerarTabela {
public static void main (String [] args){
AnnotationConfiguration configuration = new AnnotationConfiguration();
configuration.addAnnotatedClass(Usuario.class);
SchemaExport export = new SchemaExport(configuration);
export.create(true,false);
}
}[/code]
e a classe Usuario ficou assim:
@Entity
public class Usuario {
@Id
@GeneratedValue
private int level;
@Column
private String user;
@Column (length = 16)
private String password;
...
Criei também a hibernate.properties que esta assim:
hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.password = 22971244
hibernate.connection.url = jdbc:mysql://localhost/locadora
hibernate.connection.username = root
hbernate.show_sql = true
hibernate.hbm2ddl.auto = update
hibernate.connection.charset = UTF-8
Porém quando mando executar a classe GerarTabela da o seguinte retorno:
[quote]11:41:22,300 INFO Version:37 ? Hibernate Commons Annotations 3.2.0.Final
11:41:22,311 INFO Environment:603 ? Hibernate 3.6.5.Final
11:41:22,316 INFO Environment:621 ? loaded properties from resource hibernate.properties: {hibernate.connection.driver_class=com.mysql.jdbc.Driver, hibernate.dialect=org.hibernate.dialect.MySQL5Dialect, hibernate.connection.username=root, hbernate.show_sql=true, hibernate.hbm2ddl.auto=update, hibernate.connection.url=jdbc:mysql://localhost/locadora, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.password=****, hibernate.connection.charset=UTF-8}
11:41:22,319 INFO Environment:814 ? Bytecode provider name : javassist
11:41:22,322 INFO Environment:695 ? using JDK 1.4 java.sql.Timestamp handling
11:41:22,407 INFO Dialect:135 ? Using dialect: org.hibernate.dialect.MySQL5Dialect
11:41:22,470 INFO AnnotationBinder:532 ? Binding entity from annotated class: model.Usuario
11:41:22,508 INFO EntityBinder:530 ? Bind entity model.Usuario on table Usuario
11:41:22,557 INFO Configuration:1676 ? Hibernate Validator not found: ignoring
11:41:22,566 INFO SchemaExport:234 ? Running hbm2ddl schema export
drop table if exists Usuario
create table Usuario (level integer not null auto_increment, password varchar(16), user varchar(255), primary key (level))
11:41:22,566 INFO SchemaExport:281 ? schema export complete[/quote]
E não cria a tabela, alguma sugestão antes de voltar à duvida inicial? Preferi tentar criar assim porque pode ser que o hibernate não estivesse reconhecendo uma tabela já criada e tal dai eu decidi criar por ele mesmo pra ver se pode resolver, quem sabe.
Eu suspeito que seja algo em torno do dialeto hibernate.dialect = org.hibernate.dialect.MySQL5Dialect pois caso eu apague tudo que vem após essa linha no hibernate.properties ele continua dando o mesmo retorno, porém já tentei diversos tipos de dialeto do mysql e até agora nada!