Ajuda JPA com Postgres[Resolvido]

7 respostas
worldfernando

Boa tarde.

bom tenho o seguinte problema tenho uma classe mapeada ex:

Cliente
-ID
-NOME

pois bem ate ai blz mas meu projeto ja esta em produção a dúvida é se eu precisar de mais um campo na tabela e minha classe mapeada ficar

Cliente
-ID
-NOME
-CNPJ

o JPA nao cria automaticamente o novo campo vi que tem uma opção porem ele deleta a tabela e cria denovo

uso JPA-Toplink 1.0

Abraços

Fernando

7 Respostas

E

Cara não sei p/ toplink, mas p/ hibernate uso isso aqui.

Tenta usar o mesmo “value” que uso aqui, ou seja “update”

[]'s

worldfernando

blz vou testar aki ja retorno

worldfernando

nao deu certo

achei isso aki

Specify what Data Descriptor Language (DDL) generation action you want for your JPA entities. To specify the DDL generation target, see toplink.ddl-generation.output-mode.

Valid values: oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider

*

  none - do not generate DDL; no schema is generated.
*

  create-tables - create DDL for non-existent tables; leave existing tables unchanged (see also toplink.create-ddl-jdbc-file-name).
*

  drop-and-create-tables - create DDL for all tables; drop all existing tables (see also toplink.create-ddl-jdbc-file-name and toplink.drop-ddl-jdbc-file-name).

If you are using persistence outside the EJB container and would like to create the DDL files without creating tables, additionally define a Java system property INTERACT_WITH_DB and set its value to false.

Example: persistence.xml file

Example: property Map

import oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider;
propertiesMap.put(EntityManagerFactoryProvider.DDL_GENERATION, EntityManagerFactoryProvider.CREATE_ONLY);

E

Então é só você usar isso:

Segundo essa descrição que você descolou aí!

Avisa aí se deu certo!

worldfernando

entao essa ai ate funciona porem quando nao há a tabela entende ai ela cria a tabela porem o problema e que a tabela ja tem dados então nao posso excluir eu preciso que o jpa de um alter table

L

porque vc não abre uma sessão com o banco via código e passa um sql com um alter table … esse método deveria executar somente uma vez…

como os amigos falaram…com o hibernate é fácil fazer isso…mas com jpa…

worldfernando

poise acho que vou ter que fazer namao mesmo :frowning: que pena pois bem e isso ai entao obrigado pela ajuda pessoal deveria ter escolhido hibernate hehehhee

Abraços

Criado 5 de agosto de 2010
Ultima resposta 6 de ago. de 2010
Respostas 7
Participantes 3