Here's a contrived, simple example of a class which contain two of the
same componets.  I'm using hibernate 2.01 and xdoclet 1.2b3.

Given a basic class, PhoneNumber:

package com.le.examples.hibernate;

public class PhoneNumber {
  /** @hibernate.property */
  public String getNumber() { return number; }
  public void setNumber(String number) { this.number = number; }

  /** @hibernate.property */
  public String getExtension() { return extension; }
  public void setExtension(String extension) { this.extension = extension; }

  private String number;
  private String extension;
}

And a simple class Person:

package com.le.examples.hibernate;

/** @hibernate.class table="person" */

public class Person {

  public Person() {}

  /** @hibernate.id generator-class="native" */
  public long getId() { return id; }
  public void setId(long id) { this.id = id; }

  /** @hibernate.component */
  public PhoneNumber getHomeNumber() { return homeNumber; }
  public void setHomeNumber(PhoneNumber homeNumber) { this.homeNumber = homeNumber; }

  /** @hibernate.component */
  public PhoneNumber getWorkNumber() { return workNumber; }
  public void setWorkNumber(PhoneNumber workNumber) { this.workNumber = workNumber; }

  private long id;
  private PhoneNumber homeNumber;
  private PhoneNumber workNumber;
}

The following schema is generated (mysql):

create table person (
  id BIGINT NOT NULL AUTO_INCREMENT,
  number VARCHAR(255),
  extension VARCHAR(255),
  primary key (id)
)

The problem is that the second phone number component is lost. It's listed
in the xdoclet generated hibernate mapping, but with column names that
repeat (are non-unique).

Is it possible to have xdoclet generate unique hibernate column names for
each component by prepending some text (e.g. homeNumber, homeExtension,
workNumber, workExtension)???

Thanks in advance...
Christian

---------------------------------------------------------------------------
 Christian 'xian' Nelson                                  [EMAIL PROTECTED]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    "Don't ask yourself what the world needs.  Ask yourself what makes
  you come alive, and go do that, because what the world needs is people
                  who have come alive." -- Howard Thurman
---------------------------------------------------------------------------



-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to