货币金额的 JPA 映射

The*_*ect 6 hibernate jsr354 java-money

我有兴趣将 JSR 354 Money API 合并到我的应用程序中,并且希望能够将 MoneyAmount 映射为可嵌入 JPA,但我们似乎无法做到这一点,因为 Moneta 实现类的无参数构造函数是私有的并且是 JPA 的(或者至少 Hibernate)需要对其进行保护。

我们尝试扩展它以提供受保护的构造函数,但该类是最终类,因此也无法这样做。

首先,假设:

  1. 我不是唯一一个可能想这样做的人
  2. 与 JPA 的互操作性对此 JSR 很重要

我建议增强规范以要求实现为此目的提供受保护的构造函数?

其次,Moneta RI 团队是否会考虑放宽默认参数构造函数对受保护级别的访问?无论如何,如果课程是最终的,它应该不会有任何缺点?

第三,如果这种改变可能需要一段时间,那么任何人都可以同时想到一个优雅的解决方法(除了分叉我们自己的实现之外)?

sto*_*ito 2

Jadira 用户类型支持Moneta 类型也许可以解决您的问题。