如何在运行时在Hibernate实体类中动态添加自定义注释

问题描述 投票:1回答:1

我们有一个同时支持Oracle和SQL Server的应用程序。我们的某些客户端使用SQL Server,而其他客户端使用SQL Server。很少有表支持Unicode字符。 Oracle是自支持的Unicode字符,但是对于SQL Server,我们使用NVARCHAR数据类型来支持Unicode字符。我们在存储Unicode字符的那些表字段中正确使用@Nationalized注释。只有数据库为SQL Server时才需要@Nationalized。 Oracle不需要此注释。因此,我们决定在加载实体类时,我们将检查数据库并动态添加“ @Nationalized”注释。什么是最佳方法或此实现?提前谢谢。

java hibernate jpa annotations
1个回答
0
投票

您可以创建自己的用户类型,该用户类型将基于以下数据库将转换该字段。例如,@Nationalized注释等效于@Type(type="org.hibernate.type.StringNVarcharType")。您可以编写自己的版本,该版本会将相应字段转换为基础存储。

示例:https://www.baeldung.com/hibernate-custom-types

© www.soinside.com 2019 - 2024. All rights reserved.