Java 如何在不创建新表的情况下映射设置日期?

Java 如何在不创建新表的情况下映射设置日期?,java,hibernate,spring-boot,jpa,Java,Hibernate,Spring Boot,Jpa,我想将这个日期集合保存为一列,因为json对我来说在同一个实体中是可以的。JPA中有什么解决方案吗?请帮帮我。。。提前感谢。您可能应该使用字符串字段。 集合主要用于映射@ManyToMany或@OneToMany我通过在实体类的集合类型字段上使用@Converterconverter=MyCustomTypeConverter.class获得了解决方案 示例转换器将如下所示 @Entity(name = "my_entity_name") public class MyEntityName {

我想将这个日期集合保存为一列,因为json对我来说在同一个实体中是可以的。JPA中有什么解决方案吗?请帮帮我。。。提前感谢。

您可能应该使用字符串字段。
集合主要用于映射@ManyToMany或@OneToMany

我通过在实体类的集合类型字段上使用@Converterconverter=MyCustomTypeConverter.class获得了解决方案

示例转换器将如下所示

@Entity(name = "my_entity_name")
public class MyEntityName {

    /* some normal fields */

    private Set<Date> dates = new HashSet<>();

    /* Getters and setters for all fields */
}

你是说Set还是Set应该被字符串字段替换?我建议使用私有字符串日期。但总的来说,它看起来有点奇怪。可能如果你给任务添加了一些上下文,例如你有什么类型的类,为什么需要一组日期,我的答案可能不正确。
public class MyCustomTypeConverter implements AttributeConverter<Set<Date>, String> {

    private ObjectMapper mapper = new ObjectMapper();

    @Override
    public String convertToDatabaseColumn(Set<Date> attribute) {

        //code to convert from collection field to string
    }

    @Override
    public Set<Date> convertToEntityAttribute(String dbData) {

        //code to convert from db-string field to collection field.
    }
}