[RESOLVIDO] Ajuda com jpa

Teste conforme abaixo e avise se funcionou.

Classe cobranca

[code]@ManyToOne
@JoinColumn(name=“idCobrancaCliente”)
private CobrancaCliente cobrancaCliente;//ta vendo essa variavel

[/code]

Classe CobrancaCliente

@OneToMany(mappedBy="cobrancaCliente")//coloque ela no mappedBy
	private List<Cobranca> cobrancas;

Não sei qual livro você está seguindo, mas tem esse mini livro do Hebert que é bem legal.
http://uaihebert.com/jpa-mini-livro-primeiros-passos-e-conceitos-detalhados/

O mesmo autor acima citado também lançou um livro. O preço tá bem legal

Sumário do livro

ah entendi, vou tentar

Corrigiu o erro dos relacionamentos, mais surgiu outra exception, pqp:

Exception in thread “main” java.lang.IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.IdentNode
-[IDENT] IdentNode: ‘p’ {originalText=p}

at org.hibernate.hql.internal.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:154)
at org.hibernate.hql.internal.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:861)
at org.hibernate.hql.internal.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:651)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:651)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:287)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:235)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:248)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:183)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:119)
at org.hibernate.internal.SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java:974)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:485)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1737)
at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:84)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
at br.com.projetos.sisCorp.ultil.Mapeamento.main(Mapeamento.java:18)

Mostra sua classe mapeamento, pois aconteceu algo na linha 18.

Pelo erro deve ser algo na sua Query JPQL.
Pela mensagem deVe ter faltado o ‘p’ no final … tipo “SELECT p FROM Produto p”.
Confere ai tuas @NamedQuery’s

A classe mapeamento, é apenas o main chamando os entity:

public class Mapeamento {

[code]

public static void main(String[] args) {
	// TODO Auto-generated method stub
	EntityManagerFactory emf;
	 EntityManager em;
	
	emf = Persistence.createEntityManagerFactory("conexao");
	em =  emf.createEntityManager();
}

}
[/code]

e eu mechi em umas named query cujo tinha o p, e o erro mudou para :

Caused by: org.hibernate.HibernateException: Errors in named queries: NotaFiscal.findAll

veja como esta minha query na classe notafiscal:

@NamedQuery(name=“NotaFiscal.findAll”, query=“SELECT nf FROM NotaFIscal nf”)

Repara ali onde marquei em vermelho a letra “I” de Fiscal está maiúscula.
Correto:
@NamedQuery(name=“NotaFiscal.findAll”, query=“SELECT nf FROM [color=green]NotaFiscal[/color] nf”)

Corrigi, rodei, e nenhuma exception foi lançada:

log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

porem , nada foi criado no banco.

no banco existe um database com o mesmo nome, que esta configurado no persistence.

Descomente a linha abaixo no teu persistence.xml

<!--             <property name="hibernate.hbm2ddl.auto" value="create" /> -->

Altere ela conforme abaixo:

<property name="hibernate.hbm2ddl.auto" value="update" />

Execute a aplicação novamente.

Não deu certo, não criou nada no bd

Cara confira se possui o log4j no teu classpath

log4j-xxxxx.jar 

Qualquer coisa, posta aqui tudo que saiu na console.

sim, esta nas dependencias do maven, certinho

Posta o log da console aqui.

ja postei so lança isso :
log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Qual implementação do JPA está usando? Hibernate?
###EDIT ####
Lembrei que é hibernate, por conta do persistence.xml

Cara falta alguma biblioteca … Qual versão do hibernate tá usando?

Olha abaixo o que sai na minha console ao executar um projetinho de testes.

Nov 23, 2013 4:40:23 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
Nov 23, 2013 4:40:23 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.2.1.Final}
Nov 23, 2013 4:40:23 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Nov 23, 2013 4:40:23 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Nov 23, 2013 4:40:24 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)
Nov 23, 2013 4:40:24 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20
Nov 23, 2013 4:40:24 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000006: Autocommit mode: true
Nov 23, 2013 4:40:24 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/centrolocal]
Nov 23, 2013 4:40:24 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000046: Connection properties: {user=root, password=****, autocommit=true, release_mode=auto}
Nov 23, 2013 4:40:24 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
Nov 23, 2013 4:40:24 PM org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService
INFO: HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory
Nov 23, 2013 4:40:24 PM org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init>
INFO: HHH000397: Using ASTQueryTranslatorFactory
Nov 23, 2013 4:40:24 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000228: Running hbm2ddl schema update
Nov 23, 2013 4:40:24 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000102: Fetching database metadata
Nov 23, 2013 4:40:24 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000396: Updating schema
Nov 23, 2013 4:40:24 PM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Table not found: Category
Nov 23, 2013 4:40:24 PM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Table not found: Comment
Nov 23, 2013 4:40:24 PM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Table not found: Post
Nov 23, 2013 4:40:24 PM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Table not found: User
Nov 23, 2013 4:40:24 PM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Table not found: Category
Nov 23, 2013 4:40:24 PM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Table not found: Comment
Nov 23, 2013 4:40:24 PM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Table not found: Post
Nov 23, 2013 4:40:24 PM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata
INFO: HHH000262: Table not found: User
Nov 23, 2013 4:40:26 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000232: Schema update complete

Realmente pode estar faltando, mas eu baixo pelo maven veja se falta algo :

<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.0.1.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.2.0.Final</version> </dependency> <dependency> <groupId>org.hibernate.common</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>4.0.1.Final</version> <classifier>tests</classifier> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.0-api</artifactId> <version>1.0.1.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>4.0.1.Final</version> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.0.GA</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.4</version> </dependency> <dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> <version>3.1.0.CR2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.4</version> </dependency>

Cara eu optei por não usar maven por enquanto, depois que tiver expert eu usarei.
Fazendo na “unha” é muito melhor pro aprendizado, que é meu foco.

vamos aguardar alguém que entenda de maven pra ajudar

eu ja instalei hibernate na unha antes e consegui gerar as tabelas normal, mas pelo maven parece q é so isso do hibernate pelo que vi nos tutoriais.
O pior que ninguem ta vendo o topico mano, so nois dois.
:confused:

[quote=adam_sandler]eu ja instalei hibernate na unha antes e consegui gerar as tabelas normal, mas pelo maven parece q é so isso do hibernate pelo que vi nos tutoriais.
O pior que ninguem ta vendo o topico mano, so nois dois.
:/[/quote]
Confesso que eu, e acredito que muitos estão acompanhando o tópico sim, mas só a parte “vital” do problema pois eu por exemplo não uso Maven, pelo menos no momento traria mais trabalho técnico sem necessidade do que soluções que interessam pro cliente.

Veja se a solução dessas questões tem algo que você possa aproveitar:



http://users.mafr.de/~matthias/articles/generating-ddl-scripts.html

Se alguem entender de maven, veja como esta meu pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>br.com.projetos</groupId>
	<artifactId>sisCorp</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>sisCorp Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<dependencies>

		<dependency>
			<groupId>postgresql</groupId>
			<artifactId>postgresql</artifactId>
			<version>9.1-901.jdbc4</version>
		</dependency>

		<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-api</artifactId>
			<version>2.2.2</version>
		</dependency>
		<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-impl</artifactId>
			<version>2.2.2</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
		</dependency>
		<dependency>
			<groupId>org.primefaces</groupId>
			<artifactId>primefaces</artifactId>
			<version>3.5</version>
		</dependency>



		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.2</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.27</version>

		</dependency>


		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>4.0.1.Final</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
			<version>4.2.0.Final</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate.common</groupId>
			<artifactId>hibernate-commons-annotations</artifactId>
			<version>4.0.1.Final</version>
			<classifier>tests</classifier>
		</dependency>
		<dependency>
			<groupId>org.hibernate.javax.persistence</groupId>
			<artifactId>hibernate-jpa-2.0-api</artifactId>
			<version>1.0.1.Final</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>4.0.1.Final</version>
		</dependency>
		<dependency>
			<groupId>javax.validation</groupId>
			<artifactId>validation-api</artifactId>
			<version>1.0.0.GA</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.6.4</version>
		</dependency>


		<dependency>

			<groupId>org.slf4j</groupId>

			<artifactId>slf4j-log4j12</artifactId>

			<version>1.6.4</version>

		</dependency>

	</dependencies>
	<repositories>
		<repository>
			<id>prime-repo</id>
			<name>PrimeFaces Maven Repository</name>
			<url>http://repository.primefaces.org</url>
			<layout>default</layout>
		</repository>
	</repositories>



	<build>
		<finalName>sisCorp</finalName>
	</build>
</project>

de qualquer forma obg a todos q estao ajudando.