Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
例如,假设您想在域类中存储大量资金。一个简单的方法是这样的:
class Account { BigDecimal amount }
但是,如果您不想像处理类型那样简单地处理您的金额怎么办BigDecimal,Money例如您定义了一些额外的便利方法,如货币转换。
BigDecimal
Money
所以像
class Account { Money amount }
将导致将其存储在另一个表中。
所以我的问题是:如何定义一个Money在数据库中存储为 BigDecimal 的类?
您可以使用嵌入式类来拥有一个单独的Money类,该类存储在您的Account表中。
Account
class Account { Money amount static embedded = ['amount'] } class Money { BigDecimal amount def asDollar() { amount } def asEuro() { amount / 1.3 } }
将两个类 (Account和Money) 放入域文件夹中的一个 groovy 文件中,以避免为金钱创建额外的表。
另一种方法是使用自定义休眠类型。