データベースの作業では、私のクラスはHibernateDaoSupport
クラスを拡張し、メソッドの中で私は春を使用していますHibernateTemplate
。春のHibernateTemplateの使用。 IDで削除するには?
public void delete(MyObject obj) {
getHibernateTemplate().delete(obj);
}
すべてOK:
だから、私のためにこの方法を使用するデータベース内の行を削除します!
しかし、この時点で私はIDに基づいて行を削除することができますメソッドを実装しようとしているが:
getHibernateTemplate().remove(id)
public void delete(final long id) {
// some code here
}
そして、私はこのようないくつかのHibernateTemplate
方法を見つけることができません
この場合、私にとってどのような良い解決策がありますか?
これは、最も洗練されたソリューション(sql/hqlクエリを使用しない)のようですが、オブジェクトを削除するためにオブジェクト全体を分割するように見えるので、非効率的です。それは事実ですか?もしそうなら、何ができますか? –
idが存在しない場合、 'myObject'はnullになり、' delete() 'はエラーを引き起こす可能性がありますか? – NingLee
@NingLeeはい、オブジェクトが存在すると見なすため、例外が発生します。このような例外を避けたいのであれば、 'load'ではなく' get'を使用してください。 –