Discussion:
[Middlegen-user] Bug : foreign keys corrected
Lionel Protin
2004-06-28 13:14:01 UTC
Permalink
Hello,

I have the same problem described in the email below, but I get an error
with xdoclet. The changes in the Xdoclet tags i file cmp-entity20.vm
(middlegen-entitybean-plugin-2.0-vo.jar) are false. Could you please tell
me why are these changes uncorrect :

Before changes :

* @ejb.value-object
*
aggregate="${plugin.interfacePackage}.${target.baseClassName}LightValue"
* aggregate-name="${target.baseClassName}"
* members="$target.localClassName"
* members-name="${target.baseClassName}"
* match="all"
* relation="external"
* type="java.util.Collection"
#else
* @ejb.value-object
*
aggregate="${plugin.interfacePackage}.${target.baseClassName}LightValue"
* aggregate-name="${target.baseClassName}"
* match="all"
* relation="external"


After changes:

@ejb.value-object
*
aggregate="${plugin.interfacePackage}.${target.baseClassName}LightValue"
* aggregate-name="${table.getVariableName(${relationshipRole})}"

* members="$target.localClassName"
* members-name="${table.getVariableName(${relationshipRole})}"
* match="all"
* relation="external"
* type="java.util.Collection"
#else
* @ejb.value-object
*
aggregate="${plugin.interfacePackage}.${target.baseClassName}LightValue"
* aggregate-name="${table.getVariableName(${relationshipRole})}"

* match="all"
* relation="external"


Cordially,


*************************************************************
Lionel Protin
Centre de Recherche Public-Gabriel Lippmann
CREDI
162a, avenue de la Faiencerie
L-1511 Luxembourg
Tel. (+352) 47 02 61 626
Fax (+352) 47 02 64
*************************************************************



Hello,

I am trying to use Middlegen with the following DB schema:


Table Persons table Reservations
person_id PK reservations_id PK
person_id_fk FK
person_id2_fk
FK


This kind of relationship generates an error when Xdoclet is trying to
build the VO because
middlegen repeats the xdoclet tag
@ejb.value-object
*
aggregate="${plugin.interfacePackage}.${target.baseClassName}LightValue"
* aggregate-name="${target.baseClassName}" <----
* members="$target.localClassName"
* members-name="${target.baseClassName}" <----
* match="all"
* relation="external"
* type="java.util.Collection"
#else
* @ejb.value-object
*
aggregate="${plugin.interfacePackage}.${target.baseClassName}LightValue"
* aggregate-name="${target.baseClassName}" <-----
* match="all"
* relation="external"


the tags marked with <---- will cause the Xdoclet to generate classes with
repeated
variable and methods names

I changed the <---- to "$table.getVariableName($relationshipRole)", this
solved the problem
but I didn"t like the outcome.

do you have a better solution?

P.S -> I don"t want to refactor the DB schema


Regards,
Nuno Duarte Santos

Loading...