现在,我有下一个实体。这是我数据库的 m1 表。
@Entity(name = "m1")
@Data
public class Information {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
private String date;
private Double weight_1;
private Double weight_2;
private Double weight_3;
private Double weight_4;
private int working;
}
因此,当我对APIRest进行一些调用时,它将向我返回与 m1 表相对应的信息。我拥有的控制器是下一个(返回所有信息的简单控制器):
@Controller
@RequestMapping(path = "/information")
public class InformationController {
@Autowired
private InformationRepository repository;
@GetMapping(path="/all")
public @ResponseBody List<Information> getAllInformations() {
// This returns a JSON or XML with the users
return repository.findAll();
}
}
问题是:有任何方法可以在运行时更改 m1 的名称。例如,我可以将表的名称放在调用路径中,而在API Rest中使用它吗?
也许这是不可能的,而我却以一种我不知道的坏方式来做。
编辑:我的意思是,我可以通过将所需的表放在要调用的url /路径中来更改API Rest正在获取数据的表。例如:在我的情况下,APIRest获取数据的默认表/实体为 m1 ,因此我可以调用http://localhost:8080/information/especifictable/all/,其中especific table是我希望接收数据库的数据,并在API Rest中使用该url参数,并使用 especifictable 更改默认的 m1 。
我不知道我是否解释得很好,我也不知道如何解释得很好。
答案 0 :(得分:1)
只有在DB中有两个看起来相同的表时,这种设计才有意义。如果是这种情况,则您的数据库设计有问题。
据我所知,基本上是不可能的。