我们有一个中型Java服务器,其数据以下列方式流动:
SQL数据库 - >数据层 - >业务层 - > XML序列化
值得注意的是,数据模型在层之间的变化大多不会发生变化。但我被告知使用单一数据模型作为: SQL数据库 - (IBATIS) - >型号 - >将模型转换为XML - 不是一个好主意,因为模式更改意味着模型中的更改,然后更改应用程序中的所有层。 XML变化也意味着模型必须改变。
在这种情况下,建议有两个对象层吗? 1)业务模式使用IBatis映射到的业务逻辑数据层。 2)JAXB用于转换为XML的XML层。
答案 0 :(得分:2)
注意:我领导EclipseLink JAXB (MOXy),EclipseLink提供JAXB和JPA实现。
我建议使用一个通过JAXB映射到XML的数据模型,并通过JPA映射到数据库。
架构更改意味着更改 模型,然后在所有层中更改 申请。
所以建议有两个 在这种情况下对象层?
答案 1 :(得分:1)
一般来说:是的,最好有一个单独的模型。
P.S。 因为在你的问题中你称它为图层,你可能会喜欢以下卡通:http://geekandpoke.typepad.com/geekandpoke/2011/03/architectural-best-practices.html 不要太认真:)