我想将多个逗号分隔的ID保存为varchar在数据库中? 这是一个好习惯吗?例如,我有:
@Entity
class Project{
// other fields
String classificatorIds;
}
我有分类器实体:
@Entity
class Classificator{
// other fields
private Long id;
}
可能我应该使用@ManyToMany,但是问题是当我从javascript保存Person实体时,我只有分类器ID的列表。 保留项目实体时,我不知道要删除或添加哪些分类器。
答案 0 :(得分:-1)
不幸的是,我不得不说你没有遵循良好的做法。希望有一些建议。 在此之前,我会建议您根据一对多或多对多的需要适当地设置您的关系。 毕竟,我能为您提供的是两种方法之一:
您可以做的是拆分逗号分隔的整数,并创建干净的数据结构,以便可以轻松地将其发送并持久存储在DB中。您可以手动发送ajax,或者使用表单提交数据,注册侦听器并将调整后的数据手动提交到服务器。
另一种解决方案是让您的客户端(我不鼓励您)是让前端按原样发送,然后在后端将id拆分为相应的Classificator实体,然后将其持久化到db中。
这是具有可维护设计的两种解决方案,我建议 如果可以更清洁更清洁,则采取第一种方法 可管理的。