1
我在启动时使用@PostConstruct
注释执行方法。该方法必须检查存储在数据库表中的值。如果它不存在,那么它必须插入它。检查数据库中的值是正确的,但是如果我必须坚持它,它不会将它写入数据库。它不会抛出任何异常,并且persist()
被执行(显然)没有问题,只有值不被插入到数据库中。此外,一旦一切都结束,如果我手动调用该方法(例如从控制器),它会正确插入值。Spring + JPA + Hibernate:启动时没有插入
@PostConstruct
public void insertIfNecessary()
{
Request r = Request.findRequestForUser(this.me);
if (r == null)
{
r = new Request();
r.setOwner(this.me);
r.persist();
}
}
你知道什么可能是错的吗?
最好的问候,米格尔
我做到了,但没有成功。 – 2012-01-23 16:29:41
我也尝试从'@ Service'类调用该方法。它在启动时执行,但不执行插入。但是,从控制器调用该方法是可行的。 – 2012-01-23 16:32:04
@miguel perher:我添加了一些更多细节 – Ralph 2012-01-23 16:51:00