我有兴趣将 JSR 354 Money API 合并到我的应用程序中,并希望能够使用 JPA 将 MoneyAmount 映射为 Embeddable 但我们似乎无法做到,因为 Moneta 实现类的无参数构造函数是私有的并且 JPA(或至少休眠)要求它受到保护。
我们试图扩展它以提供一个受保护的构造函数,但该类是最终的,所以也不能这样做。
首先,假设:
- 我不是唯一一个可能想要这样做的人
- 与 JPA 的互操作性对于此 JSR 很重要
我建议增强规范以要求实现为此目的提供受保护的构造函数?
其次,Moneta RI 团队是否会考虑将默认 arg 构造函数访问权限放宽到受保护级别?如果课程是最终的,它应该没有任何缺点吗?
第三,如果这种改变可能需要一段时间,那么任何人都可以在此期间想到一个优雅的解决方法(除了分叉我们自己的实现)吗?