Cantainer Managed Relationship
Container Managed Relationships (CMRs) are a powerful new feature of CMP 2.0.
Programmers have been creating relationships between entity objects since EJB 1.0 was
introduced (not to mention since the introduction of databases), but before CMP 2.0 the
programmer had to write a lot of code for each relationship in order to extract the primary
key of the related entity and store it in a pseudo foreign key field. The simplest relationships
were tedious to code, and complex relationships with referential integrity required many
hours to code. With CMP 2.0 there is no need to code relationships by hand. The container
can manage one-to-one, one-to-many and many-to-many relationships, with referential
integrity. One restriction with CMRs is that they are only defined between local interfaces.
This means that a relationship cannot be created between two entities in different virtual
machines. 1
There are two basic steps to create a container managed relationship: create the cmr-field
abstract accessors and declare the relationship in the ejb-jar.xml file. The following two
sections describe these steps.

Descrição tirada do manual do JBOSS...

Realmente não sei se fui muito claro.. Mas o que eu quis dizer com CMR era que eu tinha um relacionamento do tipo Foreign Key para outro Entity..

espero ter sido mais claro desta vz...

Maykel

PS: caso ainda esteja obscuro, posso mandar o código da minha aplicação...

[EMAIL PROTECTED] wrote:

Desculpem a pergunta, mas o que são campos cmr???

Gabriel Pereira Borges
Equipe de Desenvolvimento Oracle
Cel.: (34) 9102-3477
_________________________________________________________
SofWare Brasil Soluções Integradas
Fone/FAX: +55-34-3222-4242 - Ramal 244
Av. Cesário Alvim 2258 CEP: 38400-696 - Uberlândia-MG, Brasi
l


"Alex" <[EMAIL PROTECTED]>

02/04/2003 04:53

Please respond to
[EMAIL PROTECTED]

To
<[EMAIL PROTECTED]>
cc

Subject
RES: [enterprise-list] Utilizar CMR no ejbCreate








Realmente campos cmr no ejbCreate não funciona, tem que ser no
ejbPostCreate, uma outra solução é no seu Session chamar o método
setCountry().


-----Mensagem original-----
De: Maykel Tres [mailto:[EMAIL PROTECTED]]
Enviada em: terça-feira, 1 de abril de 2003 17:18
Para: Enterprise Sou Java; Maykel Tres
Assunto: [enterprise-list] Utilizar CMR no ejbCreate

Ola todos,

Pra começar sou novo no mundo 100% EJB, digo isso porque eu utilizava
Resin(que era permitido meio de tudo) antes de passar para o JBOSS.
Explicado, vamos para oq realmente interessa.

Uma questão surgiu quando fui desenvolver uma aplicaçãozinha com CMP. Eu
tenho duas tabelas, país e estado, na minha base de dados. No incluir
país tudo ok(apesar do jboss não aceitar o auto gen do firebird, mas
isso deixemos pra lá), só que no incluir o estado eu passo o Entity
country para o create como um CMR. Aí é que está o problema. Quando eu
tento dar um setCountry(country) dentro do método ejbCreate o jboss
retorna um erro que não é possível fazer isso, diz que ta na
especificação que CMR só pode ser "setada" no ejbPostCreate.. só que na
minha base de dados esta chave estrangeira é NOT NULL. E o JBOSS cria o
SQL de inserção no ejbcreate e no ejbpostcreate ele da um update. Mas se
na minha base o campo e NOT NULL  ta feira a porcaria.. O JBOSS não
deixa eu setar no create e o banco não deixa inserir null.

Amigos, alguém tem alguma idéia de como resolver isso. Alem de colocar
null na base é claro.

agradeço qualquer comentário!

Maykel


---------------------------------------------------------------------
Para cancelar a subscrição, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para:
[EMAIL PROTECTED]
---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.463 / Virus Database: 262 - Release Date: 17/3/2003


---------------------------------------------------------------------
Para cancelar a subscrição, envie mensagem para: [EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]



Responder a