数据库MySql
在商品表products中
pro_id是自增列
然后关联到产品类别表(protypes)中的主键type_id现在的需求是这样的
我的pro_id必须要和type_id做联合主键实例是:我有了一个商品分类譬如书籍类,type_id是1
现在我需要添加N种书进去,我不想每本书都给一个pro_id,而是需要让它自增,剩下的我只需要把type_id的1放进去就可以。现在在MySql里可以直接插入数据,type_id我给定,其他信息我给定,就是pro_id不给,它可以自己自增。然后用到j2ee里,用hibernate生成的hbm里,我怎么能实现pro_id的自增?请不要让我把type_id单独做成外键,我会那么做,但是现在的需求是必须要让type_id和pro_id做联合主键。请高手指点!hbm相关信息如下:
<hibernate-mapping>
<class name="com.jurr.voo.Products" table="products">
<composite-id name="id" class="com.jurr.voo.ProductsId">
<key-property name="proId" type="java.lang.Integer">
<column name="pro_id" />
</key-property>
<key-many-to-one name="protypes" class="com.jurr.voo.Protypes">
<column name="type_id" />
</key-many-to-one>
</composite-id>……以下不相关部分省略
在商品表products中
pro_id是自增列
然后关联到产品类别表(protypes)中的主键type_id现在的需求是这样的
我的pro_id必须要和type_id做联合主键实例是:我有了一个商品分类譬如书籍类,type_id是1
现在我需要添加N种书进去,我不想每本书都给一个pro_id,而是需要让它自增,剩下的我只需要把type_id的1放进去就可以。现在在MySql里可以直接插入数据,type_id我给定,其他信息我给定,就是pro_id不给,它可以自己自增。然后用到j2ee里,用hibernate生成的hbm里,我怎么能实现pro_id的自增?请不要让我把type_id单独做成外键,我会那么做,但是现在的需求是必须要让type_id和pro_id做联合主键。请高手指点!hbm相关信息如下:
<hibernate-mapping>
<class name="com.jurr.voo.Products" table="products">
<composite-id name="id" class="com.jurr.voo.ProductsId">
<key-property name="proId" type="java.lang.Integer">
<column name="pro_id" />
</key-property>
<key-many-to-one name="protypes" class="com.jurr.voo.Protypes">
<column name="type_id" />
</key-many-to-one>
</composite-id>……以下不相关部分省略
<key-many-to-one name= "a" class= "a" column= "a.id "/>
<key-many-to-one name= "b" class= "b" column= "b.id "/>
</composite-id> 另外,你为何不考虑给id 做逐渐,然后2个一起做唯一键呢?
// Fields private Integer proId; //商品编号
private Protypes protypes; //主类别,包含重要信息protypes.typeId(主类别编号)