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

时间:2015-06-16 13:55:38

标签: spring hibernate orm

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

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

关于如何实现这一目标的任何想法?

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

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您可以尝试使用Load listenerInterceptors来实现此目的。在监听器/拦截器中,您可以检查what the data source is并相应地填充source字段。

答案 2 :(得分:0)

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