[Resolvido] Erro ao Mapear Classes, criar tabelas

Olá pessoal, fiz o mapeamento de 4 classes (usuario, endereco, cidade, estado) e na hora de criar as tabelas tá dando uma exception, tentei varias coisas e até agora nada… não sei mais o que fazer.

Gostaria de saber o porque dessa exception, o que estou fazendo de errado??

segue as classes + persistence + exception:

Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.mapping.SimpleValue.<init>(Lorg/hibernate/mapping/Table;)V
	at org.hibernate.cfg.annotations.SimpleValueBinder.make(SimpleValueBinder.java:298)
	at org.hibernate.cfg.annotations.PropertyBinder.makePropertyAndValue(PropertyBinder.java:188)
	at org.hibernate.cfg.annotations.PropertyBinder.makePropertyValueAndBind(PropertyBinder.java:200)
	at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1885)
	at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:738)
	at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:702)
	at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:631)
	at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:352)
	at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1345)
	at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1416)
	at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:193)
	at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:1044)
	at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:276)
	at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:360)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:55)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32)
	at br.com.lioneletronicos.util.CriaEntityManagerParaAtualizarDB.main(CriaEntityManagerParaAtualizarDB.java:8)

[code]
org.hibernate.ejb.HibernatePersistence
br.com.lion.modelo.Usuario
br.com.lion.modelo.Endereco
br.com.lion.modelo.Cidade
br.com.lion.modelo.Estado

	<properties>
		<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/>
		<!-- poderia ser: create,create-drop -->
		<property name="hibernate.hbm2ddl.auto" value="update"/>
		<property name="hibernate.show_sql" value="true"/>
		<property name="hibernate.format_sql" value="true"/>
		
		<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
		<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/lion"/>
		<property name="javax.persistence.jdbc.user" value="root"/>
		<property name="javax.persistence.jdbc.password" value=""/>
	</properties>
</persistence-unit>[/code]

@Entity public class Usuario { @Id @GeneratedValue private Long id ; private String nome ; private String email ; private String senha ; private String telefone ; private String celular ; private String rg ; private String cpf ; @ManyToOne private Endereco endereco ; //gas

@Entity public class Estado { @Id @GeneratedValue private Integer id ; private String estado ; //gas

@Entity public class Endereco { @Id @GeneratedValue private Long id ; private String cep ; private String endereco ; private String bairro ; private String complemento ; private String numero ; @OneToOne private Cidade cidade ; //gas

@Entity public class Cidade { @Id @GeneratedValue private Integer id ; private String cidade ; @OneToMany private Estado estado ; //gas

Grato!

Isso tá com cara de conflito de versão do hibernate.
Uma busca rápida no Google pelo seu erro, retornou este post que no final o cara diz que ele seguiu o item 2 deste guia. Pelo que entendi é algum problema de namespace, mas não consigo ver onde isso se relaciona com o seu código.
Tenta dar uma conferida nas versões dos jars que você está usando. Veja se consegue baixar todas as últimas versões do site.

O relacionamento em Estado não pode ser do tipo @OneToMany, porque o lado estado é apenas um! Tenta utilizar o @OneToOne, ou @ManyToOne dependo do seu mapeamento.

@OneToOne private Estado estado;

cho que voce realmente tem os dois problemas. Como ele esta reclamando de um construtor que nao existe, provavelmente no path do seu projeto (dentro do WEB-INF/lib ou dentro da variavel de mabiente classpath) voce tem um hibernate por la. Remova-o, ja que o jboss ja vem com o Hibernate.

Depois veja se continua dando erro. Tambem acho estranho o mapeamento many to one de um lado e one to one do outro.

O mapeamento para estado na cidade realmente está estranho também, OneToMany quer dizer que você tem uma cidade com muitos estados o que é irreal, o correto era usar o @ManyToOne várias cidades possuem um estado ou @OneToOne onde uma Cidade tem um estado.

Olá galera, brigadão a todos.
Eu tava querendo por @ManyToOne mesmo, mas passei batido e não reparei. hehe

Consegui arrumar, troquei a anotação, removi os jars e repuz, limpei os projetos e funciono.

[]s