Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

XDoclet many-to-many question



Hello,

I have the following 3 database tables with a many-to-many relationship.
(Basically pictures in photoalbums). The database tables are at the
bottom.

I want to create Hibernate mappings in XDoclet with lazy-loading. I have
created Hibernate objects for each table, but I am unable to link these
using XDoclet 2 tags. I am attaching the field-identifiers below the
database tables. Do I have to use @hibernate.set, or can this be done with
the @hibernate.many-to-many somehow ?

Tables:

--Holds Pictures (primary key is BildeID)
CREATE TABLE `Bilde` (
  `BildeID` int(11) NOT NULL auto_increment,
  `BildeNavn` varchar(100) NOT NULL,
  `BildeBeskrivelse` text NOT NULL,
  `BildeMening` float NOT NULL,
  `BildeLastetOpp` timestamp NOT NULL default CURRENT_TIMESTAMP on update
CURRENT_TIMESTAMP,
  `BildeSistEndret` timestamp NOT NULL default '0000-00-00 00:00:00',
  `BildeFilnavn` varchar(100) NOT NULL,
  `BildeErPrivat` binary(1) NOT NULL,
  `BildeOrginalStorrelse` float NOT NULL,
  `BildeTotalStorrelse` float NOT NULL,
  `Brukernavn` varchar(50) NOT NULL,
  PRIMARY KEY  (`BildeID`)
)

--Holds Albums (Primary key is BildeAlbumID)
CREATE TABLE `BildeAlbum` (
  `BildeAlbumID` int(11) NOT NULL auto_increment,
  `BildeAlbumNavn` varchar(100) NOT NULL,
  `BildeAlbumBeskrivelse` text NOT NULL,
  `BildeAlbumOpprettet` timestamp NOT NULL default CURRENT_TIMESTAMP on
update CURRENT_TIMESTAMP,
  `BildeAlbumSistEndret` timestamp NOT NULL default '0000-00-00 00:00:00',
  `BildeAlbumErPrivat` binary(1) NOT NULL,
  `Brukernavn` varchar(50) NOT NULL,
  PRIMARY KEY  (`BildeAlbumID`)
)

-- Linking table links to BildeID and BildeAlbumID
CREATE TABLE `BildeAlbumBilde` (
  `BildeAlbumBildeID` int(11) NOT NULL auto_increment,
  `BildeAlbumBildeOpprettet` timestamp NOT NULL default CURRENT_TIMESTAMP
on update CURRENT_TIMESTAMP,
  `BildeAlbumID` int(11) NOT NULL,
  `BildeID` int(11) NOT NULL,
  PRIMARY KEY  (`BildeAlbumBildeID`)
)

Classes:
/**
* @hibernate.class table="Bilde"
*/
public class BildeData
{
	/**
	 * @hibernate.id generator-class="increment" column="BildeID"
	 * @return
	 */
	private int bildeID;

	/**
	 * @hibernate.property column="BildeNavn"
	 */
	private String bildeNavn;

	/**
	 * @hibernate.property column="BildeBeskrivelse"
	 */
	private String bildeBeskrivelse;

	/**
	 * @hibernate.property column="BildeLastetOpp"
	 */
	private Date BildeLastetOpp;

	/**
	 * @hibernate.property column="BildeSistEndret"
	 */
	private Date BildeSistEndret;

	/**
	 * @hibernate.property column="BildeFilnavn"
	 */
	private String BildeFilnavn;

	/**
	 * @hibernate.property column="BildeErPrivat"
	 */
	private Boolean bildeErPrivat;

	/**
	 * @hibernate.property column="BildeOrginalStorrelse"
	 */
	private float BildeOrginalStorrelse;

	/**
	 * @hibernate.property column="BildeTotalStorrelse"
	 */
	private float BildeTotalStorrelse;

	/**
	 * @hibernate.property column="Brukernavn"
	 */
	private String Brukernavn;

/**
* @hibernate.class table="BildeAlbum"
*/
public class BildeAlbumData
{
	/**
	 * @hibernate.id generator-class="increment" column="BildeAlbumID"
	 */
	private int bildeAlbumID;

	/**
	 * @hibernate.property column="BildeAlbumNavn"
	 */
	private String bildeAlbumNavn;

	/**
	 * @hibernate.property column="BildeAlbumBeskrivelse"
	 */
	private String bildeAlbumBeskrivelse;

	/**
	 * @hibernate.property column="BildeAlbumOpprettet"
	 */
	private Date bildeAlbumOpprettet;

	/**
	 * @hibernate.property column="BildeAlbumSistEndret"
	 */
	private Date bildeAlbumSistEndret;

	/**
	 * @hibernate.property column="BildeAlbumErPrivat"
	 */
	private boolean bildeAlbumErPrivat;

	/**
	 * @hibernate.property column="Brukernavn"
	 */
	private String brukernavn;

/**
* @hibernate.class table="BildeAlbumBilde"
*/
public class BildeAlbumBildeData
{
	/**
	 * @hibernate.id generator-class="increment" column="BildeAlbumBildeID"
	 */
	private int bildeAlbumBildeID;

	/**
	 * @hibernate.property column="BildeAlbumBildeOpprettet"
	 */
	private Date bildeAlbumBildeOpprettet;

	/**
	 * @hibernate.property column="BildeAlbumID"
	 */
	private int bildeAlbumID;

	/**
	 * @hibernate.property column="BildeID"
	 */
	private int bildeID;

	/**
	 * @hibernate.one-to-one
	 */
	public BildeData bildeData;

/**
 * Very Best Regards,
 * Joachim Haagen Bøe
 * @Degree: Bachelor of Information Technology, Queensland University of
Technology
* @Degree: Master of Information Technology, Queensland University of
Technology
 * @Webmaster: www.devsiden.info, www.haagen.name
 */

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/java-dev/email@hidden

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.