论坛首页 Java版 Hibernate

在线 xdoclet2 如何在持久化类中加注标志生成 composite-id 映射文件

浏览 587 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2006-12-20
一张连接表(table:MERCHANT_TAG),两字段MERCHANTID , TAGID;
Merchant(table:MERCHANT) 和 Tag(tale:TAG)是多对多关系
如何在MerchantTag和MerchantTagId中加注标志,让xdoclet2 生成如下的mapping文件

<hibernate-mapping>
     <class name="com.liugh.model.MerchantTag" table="MERCHANT_TAG">
       <composite-id name="id" class="com.liugh.model.MerchantTagId">
            <key-many-to-one name="merchant" class="com.liugh.model.Merchant">
                <column name="MERCHANTID" />
            </key-many-to-one>
            <key-many-to-one name="tag" class="com.liugh.model.Tag">
                <column name="TAGID" />
            </key-many-to-one>
        </composite-id>
   
    </class>
</hibernate-mapping>

//class:MerchantTag

import com.liugh.model;
public class MerchantTag{
    private MerchantTagId id;

    public MerchantTag() {}

    public MerchantTagId getId() {
        return this.id;
    }
   
    public void setId(MerchantTagId id) {
        this.id = id;
    }
}

//class:MerchantTagId
import com.liugh.model;

public class MerchantTagId {

     private Merchant merchant;
     private Tag tag;

    public MerchantTagId() {}

    public Merchant getMerchant() {
return merchant;
    }


    public void setMerchant(Merchant merchant) {
this.merchant = merchant;
    }


    public Tag getTag() {
return tag;
    }

    public void setTag(Tag tag) {
this.tag = tag;
    }
}
   
最后更新时间:2006-12-21
自己解决

//class:MerchantTag

import com.liugh.model;
/**
* @hibernate.class table="Merchant_Tag"
*/
public class MerchantTag{
private MerchantTagId id;

public MerchantTag() {}
/**
     * @hibernate.composite-id
     * @return
     */
public MerchantTagId getId() {
return this.id;
}

public void setId(MerchantTagId id) {
this.id = id;
}
}

//class:MerchantTagId
import com.liugh.model;

public class MerchantTagId {

private Merchant merchant;
private Tag tag;

public MerchantTagId() {}
/**
*@hibernate.key-many-to-one class="com.liugh.model.Merchant"
* column="MERCHANTID"
*/
public Merchant getMerchant() {
return merchant;
}

public void setMerchant(Merchant merchant) {
this.merchant = merchant;
}
/**
*@hibernate.key-many-to-one class="com.liugh.model.Tag"
* column="TAGID"
*/
public Tag getTag() {
return tag;
}

public void setTag(Tag tag) {
this.tag = tag;
}
}
   
0 请登录后投票
论坛首页 Java版 Hibernate

跳转论坛:
JavaEye推荐