我有一个与 JAVA/MySQL 堆栈接口的 Angular JS JSON 客户端。由于 MySQL 是一个 RDBMS,所以我的所有数据都是标准化的(当然是前三种形式)。
我的问题可以用下面的例子来说明。
我有服务器返回的示例对象和用户对象。
Example - [{
userId:1,
...
...
..
},
{
userId:2,
...},
{
userId:3,
...}];
User - [
{
userId - 1,
firstName - "John",
lastName - "Doe",
..
},
{
userId - 2,
firstName - "Jane",
lastName - "Doe",
..
}, {...}...
]
当我使用 Angular“example_entry in example”查看 Example 集合并显示 Example 集合元素时,我只有 userId 随时可用。但是如果我想显示名字和姓氏,我不能这样做,因为它在不同的“用户”集合中。我必须编写一个辅助 Angular 控制器/服务方法来从 User 集合中获取 firstName、lastName 并将其与 Example 集合对象绑定。
为了避免这个问题,我可以对 Java Ojbects 进行反规范化并像这样发送准备好使用 JSON..
Example - [{
userId:1,
firstName - "John",
lastName - "Doe",
...
...
..
},
{
userId - 2,
firstName - "Jane",
lastName - "Doe",
...},
{
userId:3,
...}];
但这是好/坏/可怕吗?因为现在我的 Java 域对象在示例对象和用户对象中重复了名字、姓氏。关于哪条路线更好的建议?
De-Normalize and have ready to use JSON
Keep Data Normalized to avoid duplication and write converter methods on the Client as needed