Jpa 将自定义类型映射到数据库列

Jpa 将自定义类型映射到数据库列,jpa,playframework,Jpa,Playframework,假设我有一个模型类a,它有一个不是模型的B类成员。如何将类A保存为实体,并将类B转换为更适合数据库的内容(如字符串)。添加到类A 字符串mystring=myB.toString() 然后mystring将被持久化到您的模型中。我不明白。是否要保存项目但不将其用作模型?另外,通常对于非模型/实体项,它们会自动转换为二进制格式并保存 如果您确实希望数据库采用“更令人愉快”的格式,请使用模型/实体注释 嗯,但是我会失去抽象的层次,不是吗?或者你的意思是我应该把它放在哪里?这取决于你想要实现什么。如果

假设我有一个模型类a,它有一个不是模型的B类成员。如何将类A保存为实体,并将类B转换为更适合数据库的内容(如字符串)。

添加到类A

字符串mystring=myB.toString()


然后mystring将被持久化到您的模型中。

我不明白。是否要保存项目但不将其用作模型?另外,通常对于非模型/实体项,它们会自动转换为二进制格式并保存


如果您确实希望数据库采用“更令人愉快”的格式,请使用模型/实体注释

嗯,但是我会失去抽象的层次,不是吗?或者你的意思是我应该把它放在哪里?这取决于你想要实现什么。如果在检索A时需要检索B,则必须保留B。如果性能确实存在问题,我建议您将B存储在PLay的缓存中,并在从db加载A时使用延迟加载。我认为这将非常浪费,但我想我最好在关心它之前对其进行分析。浪费在什么意义上?您确实会丢失数据库索引等功能。但如果这与您有关,它应该是一个实体/模型。是和否。确实,如果您选择二进制格式,将不会有索引。没有索引意味着使用该列的访问速度较慢。但如果您需要通过该数据进行访问,这意味着您将使用它作为标准。也就是说,它应该是一个实体。如果您只关心持久性部分,那么不要担心性能。