初学hibernate遇到一个主键问题,各位兄弟帮帮忙!

shen2046 2007-05-21 01:09:44
<hibernate-mapping>
<class name="org.lxs.Customers" table="customers" catalog="sampledb">
<composite-id name="id" class="org.lxs.CustomersId">//这是什么意思啊?还有generator怎么在这设置啊?他与generator有什么区别啊?
<key-property name="id" type="java.lang.Long">
<column name="ID" />
</key-property>
<key-property name="name" type="java.lang.String">
<column name="NAME" length="15" />
</key-property>
</composite-id>
</class>
</hibernate-mapping>
...全文
245 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
GavinLau 2007-05-22
  • 打赏
  • 举报
回复
你的表中应该没有主键,而HIB中影射表中必须有主键,如果没有,HIB会某些自段变成复合主键,最好还是在表中设置个主键,要么操纵表对象时会有问题,比如session.save的时候,必须
Table1.setId(Table1Id)
session.save(Table1)
如果不想要主键,有个方法,就是先把某个自段设置主键,影射以后在把表中的主键去掉
ownraul 2007-05-21
  • 打赏
  • 举报
回复
generator是用来定义主键生成方式的
天外流星 2007-05-21
  • 打赏
  • 举报
回复
复合主键,由多个字段组成主键,可以通过两种方式确定主键,一种是基于实体类的复合主键,另一种是通过定义主键类来实现。在Hibernate中,通过composite-id节点对复合主键进行定义.
你这属于基于实体类的复合主键.这里的结点中不支持generator.

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧