0

Hiberanate を使用してデータベース列をマップすることは可能ですか? HQL クエリで使用できますが、マップされたクラスの実際のプロパティにマップすることはできませんか?

私のクラスではこの属性は必要ありません。また、getter と setter の乱雑さを避けたいと思っています。

私が持っているユースケースは、特定の行にフラグを設定することです。そのため、別のプロセスが行を取得して処理します。次のようにフィールドを更新するだけです。

 update FJ345KJ set wrkxGrumble=1 
 where wrkxGrumble = 0
 and -- more constraints comming here

データベースによって強制されるテーブルと列の名前はハッシュコードに似ているため、更新には HQL を使用したいと考えています。したがって、Hibernate でマップされた列が必要です。

4

1 に答える 1

2

私の知る限り、これは不可能です。マップされた列には、クラス内の変数が必要です。

できることは次のとおりです。列を属性にマップaccess = "field"し、クラスで変数を として宣言しますprivate。次に、まだ役に立たない変数が宣言されています (データベースはとにかく行をロードする必要があるため、これはパフォーマンスの問題ではありません) が、getter と setter は必要ありません。また、変数はプライベートとして宣言されているため、インターフェイスには影響しません。つまり、他のクラスからは見えません。

于 2013-03-18T16:29:22.260 に答える