私はJPA Employee
を持っています。永続エンティティwjichは50個のフィールドを持っています。時々私は50のフィールドすべてをUIに表示するか、時にはそれよりはるかに少ないフィールドを表示する必要があります。EntityオブジェクトまたはPOJOをUIに返しますか?
は私が
アプローチ1と考えることができる2つの方法があります: -
私はUIにEmployee
エンティティを返し続けます。私は返却する必要Employee
の下でどの特定の分野に言及することができます(注釈付き)の方法があります
例: -
私はブラウザにJSONを返す前に、EmployeeクラスからMiddleName
を無視したい場合は、私がします
@JsonIgnoreProperties({"MiddleName"})
public abstract class EmployeeMixin extends Employee{
}
Employee employee = new Employee();
Map<Class<?>, Class<?>> mixinMap = new HashMap<Class<?>, Class<?>>();
mixinMap.put(Employee.class, EmployeeMixin.class);
ObjectMapper mapper = new ObjectMapper(mixinMap);
return mapper.writeValueAsString(employee);
アプローチ2以下のような必要な@JsonIgnoreProperties
でEmployeeMixin
を作成
私は新しいPOJOに5Oフィールドをすべて再入力してUIに戻します。
私の質問は、より良い設計アプローチですか? Entityオブジェクトまたは新しいPojoオブジェクト(Entityから構築)をUIに戻す必要がありますか?
私のアプローチは1いいね。同じフィールドを持つ新しいpojoを作成することは意味がありません。 したがって、アプローチ1を使用し、アノテーションを使用して必須フィールドのみを返します。 – Mahesh