2016-03-22 3 views
1

私はデータベース内のテーブルの疑わしい部分を持っています、私はそれを作成したhibernateリバースエンジニアリングを使用しています。私はこの容疑者を更新するための書類を作る必要があります。休止とバネを使用して更新

私がしたことは:

です。フェーズされた疑わしい行(休止状態を使用するIDに基づく)

ii。疑わしい名前のオブジェクトに設定されます。

iii。それは春形式のコマンドオブジェクトとして渡されました。

フォームの表のデータを正常に表示します。

テーブルには、いくつかのロジックを使ってハードコードされたフィールドがあります。これらのフィールドは、フォームタグには存在しません。私が(ハイバネートの更新機能を使用して)このフォームを保存すると、これらの列の値をnullに設定します。更新時にはそのようなすべてのフィールドや

  • ハードコード再び彼らのために更新フォームの隠しフィールドを作成

    1. 今何で私が感じたことは2つの解決策があるかもしれないです。

    これは他の方法があれば良いですか?

  • 答えて

    0

    それ以外の方法はありますか? 、あなたは、データベースのデフォルト値を使用しない場合は

    が、あなたのJavaコードで、単純にデフォルト値 :

    の方法は、より多くのあなたに合った、あなたのデータベースまたはhibernate like in this questionにデフォルト値を使用しています単にコードをきれいにして行うことを

    のようなあなたの変数を初期化する明確なロジック:

    private Integer myColumn = 100; 
    

    とにかく、あなたの質問:)

    良いです答えてみましょうか?

    アプリのニーズに応じて異なります。

    • このフィールドを取得するためのロジックは、高い計算コストを持っている場合は、この計算コストを節約するために隠しフィールドを使用することができます

    このようなすべてのフィールドの更新フォームの隠しフィールドを作成しかし、このデータをharcodedしている限り、これはあなたの問題ではないようです。更新時の再

    • ハードコードそれらを。

    のハードコーディングはアカデミックプログラミング外のオプションではありませんが、更新のフィールドが変更されるためにこの固定値を作ることができれば、あなたの最良のオプションは、これが更新する前にフィールド再生成することです。

    UPDATE:

    私はまた、ハードコードされた値を避けたいです。隠されたフィールドの安全性だけが懸念されています。私の現在のケースでは、セキュリティは大きな問題ではないと私は第二の選択肢に従うことができます。

    はい、第2の選択肢があなたには良いです。明確にするために


    、これはハードコーディングされます。すなわち:

    int prize = 100; 
    

    をしかし、フォームで賞を尋ねると、あなたのような一定のフィールドを持っている場合:あなたが更新すると

    // CONSTANT 
    private final Integer VAT = 18; 
    
    // ATTRIBUTE (filled by user in form) 
    int prize; 
    

    エンティティでは、毎回税額を払い戻し(例:floating point error dividingに注意してください)

    // calculated field/attribute 
    double finalPrize = prize * VAT/100; 
    
    ハードコーディングおよび定数は我々の友人 ;)


    UPDATEありません、定数を使用しています

    :SECURITY

    が、私は

    安全、これらの値を維持する必要がある場合、私は何を知って好奇心

    セキュリティについては、簡単な方法がたくさんありますか?サーバー側で更新不可能な値を保持することで、クライアント側で必要な場合は、それらを検証し、必要に応じてコンテンツを非表示にするために暗号化することもできます(javascript/hibernate)。

    +0

    お返事ありがとうございました – Anuja

    +0

    お寄せいただきありがとうございます。お気軽にご連絡ください。 –

    +0

    返信ありがとうございますが、値は固定されていません。デフォルト値は使用できません。私はハードコーディングされた値を避けたい。隠されたフィールドの安全性だけが懸念されています。私の現在のケースでは、セキュリティは大きな問題ではなく、私は第二の選択肢に従うことができます。私はこれらの値を安全に保つ必要があるかどうかを知りたいと思っています。 – Anuja

    関連する問題