提问者:小点点

Hibernate 4:如果查询返回null,则设置默认值


我有一个用例,我将两个表映射到同一个对象。

在这个对象中,我有一个名为source的字符串,我希望能够为这个变量设置表名或库名。

关于如何实现这一目标有什么想法吗?

我考虑过迭代我的列表并手动设置它,但这有可能浪费相当多的时间。

我知道这有点奇怪,所以这可能是唯一的方法,但我希望有一个解决方案,在hibernate映射其他所有内容时映射源变量。


共3个答案

匿名用户

如果我正确理解了你的问题,那么你的解决方案可能是MappdSuperClass,在其中你必须有一个抽象类,它将具有两个表的公共字段,然后你将其扩展到你想要的两个实体,这将指向两个不同的表。检查此链接

匿名用户

您可以尝试使用加载侦听器或拦截器来实现这一点。在侦听器/拦截器中,您可以检查数据源是什么并相应地填充source字段。

匿名用户

最后,我最终使用了一个公式将我的变量映射到一个select语句,这足以满足我的需要。