我已经定义了如何通过“课程”容器将课程对象保存在cosmos中:
@Container(containerName = "courses", ru = "400")
public class CourseCosmos {
@Id
@GeneratedValue
private String id;
@PartitionKey
private String courseStatus;
private String courseName;
@Repository
public interface CourseCosmosRepo extends CosmosRepository<CourseCosmos, String> {
}
public CourseCosmos saveCourse(final CourseCosmos courseCosmos) {
courseCosmosRepo.save(courseCosmos);
return courseCosmos;
}
现在,我希望保存相同的结构,但保存在不同的容器中,例如计算机课程、医学课程等。我唯一的解决方案是复制结构,并根据containername参数将其保存在不同的名称下。
@Container(containerName = "computer-courses", ru = "400")
public class ComputerCourseCosmos {
@Container(containerName = "medical-courses", ru = "400")
public class MedicalCourseCosmos {
我考虑过从抽象类扩展类:
@Container(containerName = "computer-courses", ru = "400")
public class ComputerCourseCosmos extends CourseCosmos {
但这仍然需要复制和粘贴现有代码,例如ComputerCourseComos和MedicalCourseComos的savecourse()。
有没有办法在pojo之外动态定义@container?
暂无答案!
目前还没有任何答案,快来回答吧!