hibernate 小问题!请指点

showmetoyou 2008-01-25 02:13:52
两个Objects:A(x,y),B(y,z) 他们通过y关联
A a = new A( x );
B b = new B( y );
A.setB( b );
A.save();
A.frush();

这样情况下,y的值会被存储到A表中吗?
...全文
139 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
SDMRauquin 2008-01-28
  • 打赏
  • 举报
回复
既然y是B的主键。那么y也就是A的外键了。

这样y的值当然会被存储到A表中的。

不过比较奇怪,你用hibernate,y不是无意义的一个序列ID?而且有具体值的?这样不太好
showmetoyou 2008-01-28
  • 打赏
  • 举报
回复
谢谢楼上的回答!补充一下,y是B表的主键!
SDMRauquin 2008-01-25
  • 打赏
  • 举报
回复
同意楼上的,感觉你的表有点混乱,用hibernate还是注意好主外键的关系,

光看表面 你的y似乎并不是主外键,都不知道你的关系是什么,自然怎么保存也无好说了
yztommyhc 2008-01-25
  • 打赏
  • 举报
回复
Hibernate是建议每张表都有个id属性,并且是通过id来构造外键关系的.
你最好符合这样的规范.
showmetoyou 2008-01-25
  • 打赏
  • 举报
回复
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

<hibernate-mapping
package = "com.redprairie.tm.core">

<class name="A" table="A">

<composite-id name="PK" class="OrderCartonDetailPK" >
<key-property name="X" column="x" />
</composite-id>
<many-to-one
name="B"
class="B"
insert="false"
update="false" >
<column name="y" />
<column name="ordsln" />
</many-to-one>

</class>
</hibernate-mapping>
sunwei_07 2008-01-25
  • 打赏
  • 举报
回复
你配置文件怎么写的?

67,513

社区成员

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

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