@PostConstruct
アノテーション付きで起動時にメソッドを実行しています。このメソッドは、DB のテーブルに格納されている値をチェックする必要があります。存在しない場合は、挿入する必要があります。DB での値のチェックは正しく行われますが、永続化する必要がある場合、DB に書き込まれません。例外はスローされず、persist()
(明らかに) 問題なく実行されますが、DB に値が挿入されないだけです。
さらに、すべてが完了したら、そのメソッドを手動で (コントローラーなどから) 呼び出すと、値が正しく挿入されます。
@PostConstruct
public void insertIfNecessary()
{
Request r = Request.findRequestForUser(this.me);
if ( r == null )
{
r = new Request();
r.setOwner(this.me);
r.persist();
}
}
何が間違っているか知っていますか?
敬具、ミゲル