JAVA/MySQL スタックとインターフェイスする Angular JS JSON クライアントがあります。MySQL は RDBMS であるため、すべてのデータは正規化されています (もちろん最初の 3 つの形式)。
私の質問は、次の例で説明できます。
サーバーから返された Example オブジェクトと User オブジェクトがあります。
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 しかありません。しかし、firstName と lastName を表示したい場合は、別の "User" コレクションにあるため、表示できません。User コレクションから firstName と lastName を取得し、それを Example コレクション オブジェクトに関連付けるために、ヘルパー Angular コントローラー/サービス メソッドを作成する必要があります。
この問題を回避するには、Java Ojbects を非正規化して、このようにすぐに使用できる JSON を送信することができます..
Example - [{
userId:1,
firstName - "John",
lastName - "Doe",
...
...
..
},
{
userId - 2,
firstName - "Jane",
lastName - "Doe",
...},
{
userId:3,
...}];
しかし、これは良い/悪い/ひどいですか? これで、私の Java ドメイン オブジェクトには firstName、LastName がサンプル オブジェクトとユーザー オブジェクトで複製されているためです。どのルートが良いかアドバイスはありますか?
De-Normalize and have ready to use JSON
Keep Data Normalized to avoid duplication and write converter methods on the Client as needed