hibernate 中 many-to-one 问题 我的是 0..1 该怎么配置?

flashroom 2004-09-23 09:19:46
hbm:

<many-to-one
name="borrowUser"
class="com.jneolsoft.eip.user.model.UserInfo"
>
<column name="BorrowUser" />
</many-to-one>

表中 BorrowUser (int) ,当有借阅者的时候 BorrowUser=借阅者 ID,没有的时候BorrowUser=0
照我上面那样配置HBM后,当有借阅者的时候没问题,可是没有的时候(BorrowUser=0,没有相对应的USERINFO)就会抛
No row with the given identifier exists: 0, of class: com.jneolsoft.eip.user.model.UserInfo


该怎么配置这个HBM?多谢
...全文
114 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
0xCafeBabe 2004-09-23
  • 打赏
  • 举报
回复
hbm没问题,我说了还是你的数据的问题,hibernate找不到关联对象肯定会报错的
几个解决办法
1 把数据改对(把book表里错误的那些borrowUserId改为null)
2 不用many-to-one
3 user表里加一条id为0数据
flashroom 2004-09-23
  • 打赏
  • 举报
回复
库里我没做约束~

我只是在HBM里配置

这和库没关系吧
0xCafeBabe 2004-09-23
  • 打赏
  • 举报
回复
>当有借阅者的时候没问题,可是没有的时候(BorrowUser=0,没有相对应的USERINFO)就会抛<
这是你的数据不对嘛,这本来应该是一个外键约束(也许你用的mysql)
flashroom 2004-09-23
  • 打赏
  • 举报
回复
用QUERY或者FIND的时候他自动运行的SQL
自动抛的异常由不得SET NULL
flashroom 2004-09-23
  • 打赏
  • 举报
回复
跟你说抛异常!!!

No row with the given identifier exists: 0, of class: com.jneolsoft.eip.user.model.UserInfo


估计HIBERNATE要查询USERID然后付值


我的星星是在JSP/SERVLET/JAVABEAN 得来的

如果分的细的话在别的版我顶多两个三角



0xCafeBabe 2004-09-23
  • 打赏
  • 举报
回复
晕,又是这个问题,不是跟你说过了吗?
你这一颗星是怎么弄来的呀?
flashroom 2004-09-23
  • 打赏
  • 举报
回复
TO:0xCafeBabe(CafeBabe)
你早说在数据库里改啊

你回复的。SETBORROWUSER(NULL)

我以为在程序里设置呢!!!!

给你分再RI你一下
nwsl 2004-09-23
  • 打赏
  • 举报
回复
库里不加约束,程序写起来很麻烦。干吗不加约束,现在也来得及。

67,513

社区成员

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

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