0

Java ベースの Web アプリケーションがあります。動物の名前は、内部目的で AnimalName_GenusName としてデータベースに保存されます。

例えば:Dog_Canis

Dog_CanisCalling Web ページに情報をそのまま送信するために使用します。

public class Animal {
        private String name;
        private Long id;
        private String genusName;
        private String species;
        //.......

        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getGenusName() {
            return genusName;
        }
        public void setGenusName(String genusName) {
            this.genusName = genusName;
        }

        //......

    }

ここで、Genus 名を削除して、呼び出し元の Web ページに情報を表示したいと考えています。

要件は、情報をそのまま表示するための一連のモジュールと、保存中に追加されたこの属名を削除するための一連のモジュールを持つことです。

呼び出し元のページに情報を送信しているときにインターセプトして情報を取り除くフィルターを用意する予定です。一致する URL またはサーブレットを定義することにより、フィルターに関与するモジュールを定義できます。

これは正しいアプローチですか?100000 個のデータに対して他の 10 列でこれを行うと、どのくらいコストがかかりますか?

他のより良いアプローチはありますか?動物クラスで別のメソッドを使用して、取り除かれた情報を提供することについて疑問に思っていました。しかし、それはすべてのモジュールをリファクタリングする必要があり、良い選択ではないことを意味します。

4

1 に答える 1

2

「AnimalName」と「GenusName」は基本的に異なるデータであるため、別の列に格納することをお勧めします。おそらく多額の初期投資になりますが、アプリケーションが長期間使用されるのであれば、それだけの価値があります。

あなたはそうするつもりはないので、できるだけデータベースの近くでストリッピングをしようと思います。データベースから離れれば離れるほど、同じ作業が必要になる可能性が高くなります (たとえば、新しいクライアントを作成する場合)。

パフォーマンスへの影響を判断できるのはあなただけです。コードまたはハードウェアに関する十分な情報がありません。

于 2013-09-20T12:18:08.343 に答える