在Spring Boot中向MySQL动态添加新列

时间:2018-11-18 06:21:51

标签: mysql spring spring-boot jpa

说我有一个保存用户信息的类

User.java

@Data
@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    //User Data

    @Column(name = "first_name", nullable = false)
    private String firstName;

    @Column(name = "last_name", nullable = false)
    private String lastName;
}

在前端页面,管理员可以通过定义新字段来动态更新Bio。比如说点击+按钮,他可以添加一个新字段,称为中间名,年龄或地址等。

  

P.S。这是一种管理员特权,更新运行时的数量将受到限制,因此创建无限字段没有问题。

如何使用Spring Boot解决MySQL中实体的动态添加?

1 个答案:

答案 0 :(得分:0)

您可以使用自定义地图添加新字段,例如:

    @ElementCollection(fetch = FetchType.LAZY)
    @CollectionTable(name = "custom_fields")
    @MapKeyColumn(name = "field")
    private Map<String, String> customFields;