Socorro urgente com o Java DB (Derby)!!!!  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
mcpcunha
HelloWorld

Membro desde: 23/09/2006 15:34:15
Mensagens: 14
Offline

Olá amigos,

Sempre usei o MySQL como meu banco de dados preferido, mas estou fazendo um sistema pequeno para um amigo e preferi usar como banco de dados o Java DB, por poder ser embarcado na própria aplicação, que será desktop. Não quero que meu cliente tenha que ficar instalando o MySQL no computador dele, iniciando o servidor, etc, seria muito tedioso.

Bom, o pau é o seguinte: tenho 2 tabelas, uma CLIENTES e outra PROJETOS. CLIENTES tem como chave primária um campo "nome", do tipo Varchar. Um Cliente solicita um ou mais Projetos, e um Projeto só pode ser solicitado por um Cliente. Temos uma relação então Clientes -> Projetos de 1:M, OK? a chave primária "nome", da tabela CLIENTES vai como chave estrangeira para a tabela PROJETOS. Até aí tudo bem... O problema é na hora de criar a restrição de integridade. Fica assim:

create table APP.PROJETOS (
id_projeto integer not null primary key generated always as identity,
nome varchar(100) not null,
data_visita date,
data_entrega date,
valor double not null,
descricao varchar(250),
nome_cliente varchar(150) constraint nome_cliente_fk references APP.Clientes, <---------
observacoes varchar(350)
);

(Observem a seta). Mas desse jeito, ao atualizar um nome de cliente ocorre uma restrição de integridade e aborta. Se eu colocar ON UPDATE CASCADE, o Java DB NÃO aceita (vi no seu manual e ele só aceita RESTRICT e NO ACTION). Tanto faz. Não se pode mais atualizar um nome de cliente depois que ele está como chave estrangeira em algum projeto. No MySQL bastava usar o ON UPDATE CASCADE, mas como disse, não existe essa opção no Java DB. Não sei o que fazer!!!!

Desculpem o longo post. Se alguém souber como resolver, me ajude.

Grato.

-----------------------------------------------------
Marcelo Carvalho Pinto da Cunha
Engenheiro de Sistemas

marcelo.cp.cunha@bol.com.br
-----------------------------------------------------
ricardosoares
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 09:49:13
Mensagens: 318
Localização: São Paulo, SP, Brasil
Offline

hsqldb aceita on cascade

Ricardo Soares
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team