我正在构建一个Spring启动应用程序,它使用REST服务将内容传递到前端
但我的DTO与我的数据库不对应。 Here is a diagram of the database 而我的DTO应该看起来像这样
public class GlobeEntity extends BaseEntity {
// for all definition years
private List<Instance> instances;
class Instance {
// CountryInstance.definitionYear
private String definitionYear;
// for all countries
private List<Country> countries;
class Country {
// Country.countryId
String id;
// Country.externalIdentifier
String externalIdentifier;
// CountryInstanceCompatibility.total
String com;
// CountryInstanceUtility.total
String uti;
}
}
}
这可能与hibernate注释有关吗?
答案 0 :(得分:0)
对于DTO,从控制器返回该类时转换为JSON取决于您在Spring中配置的JSON序列化程序。然后,您可以使用JSON注释来更好地控制返回的内容。 根据您的工作方式,您可以选择在实体和DTO之间进行转换,并为每个实体和DTO创建一个类。虽然这有点烦人,因为它确实增加了分配更多类和其他类的开销,这取决于两者,如果你在DTO和实体表示中使用相同的类时,它们可能会变得非常混乱。例如,如果您在控制器中使用某种方法,则不清楚这是实体还是DTO。在许多情况下,当您拥有一个控制器时,您返回的响应不是数据库中的资源。