用hibernate做关联,表A的字段userid引用表user的userid,
<many-to-one lazy="false" name="tuser" >
<column name="userid"></column>
</many-to-one>
问题。A表里面的userid如果不存在(user表里没有这掉记录信息或者记录被删掉了),
则查询A表会出错,错误信息:
No row with the given identifier exists:有什么解决方案?可以查询A表相关数据,在处理不存在的userid时,关联信息按null处理,像视图的left outer join一样?
<many-to-one lazy="false" name="tuser" >
<column name="userid"></column>
</many-to-one>
问题。A表里面的userid如果不存在(user表里没有这掉记录信息或者记录被删掉了),
则查询A表会出错,错误信息:
No row with the given identifier exists:有什么解决方案?可以查询A表相关数据,在处理不存在的userid时,关联信息按null处理,像视图的left outer join一样?
解决方案 »
- 经常出现Exception thrown whilst processing POSTed parameters,详细描述
- 框架整合的问题No bean named 'MySessionFactory' is defined
- js动态生成的文本框或下拉列表框的值怎样在java后台获取?
- 请各位前辈帮忙介绍一个工作啊!基本上公司要求技能的我都能使用!
- 如何在用户注册成功之后,显示“你已经注册成功!”并使用“定时功能”跳转到登陆页面呢?
- 有高手吗?如何用HTMLParser从HTML源文件中的javascript脚本中取得数组的值?
- web服务器.........
- 请教一个关于JNDI的问题??
- 求高手指点!
- 那位可以给我用一个jsp创建一个文本文件的程序啊!
- 请教JSP页面高亮显示问题!!~
- 下拉列表问题
然后重新生成 数据库
hibernate的关联没法像视图的left outer join一样吗?看资料,fetch="join"配置应该就是实现这种需求。可是用起来无效。。从需求上说,并不是所有数据都应该约束的,这不是乱不乱搞的问题,这是业务需求需要。使用关联,目的不是约束,而是方便。
例如一个网站,绝大多数数据都跟注册用户相关。可能有好几十张表。删一个用户需要删除几十张表的东西?
用户干过的事,总不能因为用户被删,就抹杀掉跟该用户相关的所有东西。
举个例,我在csdn写的这个帖子,createuser就是我的id,如果帖子的createuser跟user表做关联的话,是不是删除我这个用户之前必须删除我的所有帖子?这是不符合逻辑的。合理的做法是,帖子照样显示,在用户信息部分显示为“不存在的用户”之类的。一句话,我若有这种需求,就无法使用关联?
你也可以试试啊