我有一个Java实体,其字段带有注解@Formula,在其中执行了包含Firebird数据库某些特定功能的SQL查询。现在,我必须迁移到Oracle数据库,并且需要替换该@Formula中的SQL代码。有办法实现吗?我可以通过某种方式扩展Hibernate @Formula以便在运行时更改注释的值吗?谢谢
您可以实现这种略有不同的方式。
您可以放置@Formula一个占位符"{TO_BE_REPLACED}"并添加一个Hibernate Interceptor来更改onPrepareStatement。在那里您可以更改由休眠生成的SQL。JUst检查SQL字符串并将替换为{TO_BE_REPLACED}您的实际值。
在此处了解如何添加拦截器
| 归档时间: |
|
| 查看次数: |
1518 次 |
| 最近记录: |