【发布时间】:2016-01-31 18:24:16
【问题描述】:
我正在研究a project,它可以与两个数据访问层实现一起使用:
- 图形数据库,
- 关系数据库。
实现的选择取决于 Tomcat 启动时的 Spring 活动配置文件(spring.profiles.active=graph-database 或 spring.profiles.active=relational-database)。这很好用。
我正在服务层添加 REST 服务。目前,我只注释了retrieveAllCategories 方法,它响应“/rest/resources/categories” URL。它按预期显示 JSON,但我的问题是,当服务器使用 DAL 图数据库实现时,输出与使用关系数据库模块时不同。
不同之处在于与“ResourceCategory”类关联的对象集合。我已经必须用@JsonIgnore、@JsonManagedReference 和@JsonBackReference (example) 之类的注释来注释我的“JPA”域bean,以避免无限递归。这是一件相当漫长而无聊的事情,我不希望在我的整个项目中都这样做。
我的问题:有没有更好的方法(比非常耐心地注释每个“关系数据库”bean)来确保我的 Web 服务将提供完全相同的数据,而与使用的 DAL 实现无关?
【问题讨论】:
标签: java spring web-services architecture