日期:2014-05-19  浏览次数:20658 次

JPA的关联映射问题
JPA中,通过关联映射读取另一张表。

比如,User实体,通过字段role_id去N-1关联Role实体,查询并显示出role_name。

当role表中没有对应数据时,JPA会抛出EntityNotFoundException异常,导致整体的查询都失败了。

---------------------------------------

我现在的需求是,查询User实体时,如果某几条记录找不到对应Role实体,就人为的添加一个虚拟的Role实体,把role_name赋值为“未知”。

这样,页面上就可以直接的看到底层数据有误,否则会一条数据也看不到。


------解决方案--------------------
你的方法治标不治本,你的数据已经违反了一致性原则。当删除role时,你要解除该role和user的关联。从源头避免这种情况