hibernate 一个实体类映射多个表的方法

 

       首先得承认我学Hibernate这东西时间还比较短,了解太浅,遇到这个问题的确不知道怎么处理,但是在网上搜索页没有找到资料,多亏 jinnianshilongnian 老兄给我了一个链接,看到,的确在Hibernate中有很简单的处理方式,在这里表示感谢。

 

     真的是活到老学到老。而且,这也坚定了我自顶向下的设计理念,我坚持先从业务分析中得到对象再考虑数据库的思路是正确的。

 

我把链接上的解决方式贴在这里,以备自己将来查看和学习。

 

JAVA

public class Brand {
   private Integer id;  // unique ID per brand
   private Integer languageId;  // unique ID per language, always set to the current language
   private String enabled;  // flag, true if we display this to html
   private Integer ranking;  // ranking to display in html
   private String name;  // the translated name of this brand
// .... Getters and Setters
}

 


SQL

brand
{
  brand_id  // int, auto_increment, primary key
  ranking  // int
  enabled  // char(3)
}

brandtext
{
  brand_id  // int, foreign key
  language_id  // int, foreign key
  name  // varchar(255), a translation of this brand's name
}

 

 映射文件:

 

<hibernate-mapping package="foobar">
   <class name="Brand" table="brand">
      <id name="id" column="brand_id" type="int">
         <generator class="identity"/>
      </id>
      
      <property name="enabled" type="string"/>
      <property name="ranking" type="int"/>
      <join table="brandtext" inverse="true" >
         <key column="brand_id" on-delete="cascade"/>
         <property name="languageId" column="language_id" type="int"/>
         <property name="name" type="string"/>
      </join>       
   </class>
</hibernate-mapping>

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值