在 Hibernate 中将自定义对象属性存储为列

Posted

技术标签:

【中文标题】在 Hibernate 中将自定义对象属性存储为列【英文标题】:Store Custom Object Attributes as Columns in Hibernate 【发布时间】:2021-09-21 05:54:11 【问题描述】:

我们如何使用自定义对象属性作为表格列生成表格

private class CustomObject    
    String attr1;
    String attr2;

@Entity
@Table(name = "result")
public class Result 
   @Column
   private  String id;

   @Column
   public CustomObject cobject;

RESULT 表生成如下

id attr1 attr2

【问题讨论】:

您正在寻找@Embedded 谢谢@chrylis-cautiouslyoptimistic- 【参考方案1】:

来自Hibernate_User_Guide 文档:

PA 为使用可嵌入类型定义了两个术语:@Embeddable 和@Embedded。 @Embeddable 用于描述映射类型本身 (例如 Publisher)。@Embedded 用于引用给定的可嵌入类型 (例如 book.publisher)。

所以你可以像下面这样注释你的类:

@Embeddable
private class CustomObject    
    String attr1;
    String attr2;


@Entity
@Table(name = "result")
public class Result 
   @Column
   private  String id;

   @Embedded
   public CustomObject cobject;

【讨论】:

谢谢@dariosicily @try_aaam 不客气。

以上是关于在 Hibernate 中将自定义对象属性存储为列的主要内容,如果未能解决你的问题,请参考以下文章

10-hibernate单表操作-组件属性

如何在javascript的引导数据表中将参数字符串转换为列或已知对象

在 SQL 中将行显示为列

如何在 SQL 视图中将计数和总和组表示为列?

自定义hibernate后端参数验证注解

我可以让 Hibernate 通过工厂方法创建一个对象吗?