在Spring Boot中通过JPA/Hibernate创建DB触发器
正如标题所说,当数据添加到主表中时,我希望创建触发器以在其他表中创建记录。例如,当用户注册时,我希望用户朋友中的记录具有一些默认值 最初,我想在服务层中这样处理在Spring Boot中通过JPA/Hibernate创建DB触发器,hibernate,spring-boot,jpa,spring-data-jpa,spring-data,Hibernate,Spring Boot,Jpa,Spring Data Jpa,Spring Data,正如标题所说,当数据添加到主表中时,我希望创建触发器以在其他表中创建记录。例如,当用户注册时,我希望用户朋友中的记录具有一些默认值 最初,我想在服务层中这样处理 repositoryA.save(entityA); repositoryB.save(entityA); 但是这个方法会创建两个不同的db会话,我希望将会话/调用的数量保持在最小。还希望避免使用本机SQL或直接调整数据库。当表之间存在关系时,可以在一次保存操作中保存数据。 另请参见如果此代码位于带有@Transactional的单一
repositoryA.save(entityA);
repositoryB.save(entityA);
但是这个方法会创建两个不同的db会话,我希望将会话/调用的数量保持在最小。还希望避免使用本机SQL或直接调整数据库。当表之间存在关系时,可以在一次保存操作中保存数据。
另请参见如果此代码位于带有
@Transactional
的单一服务方法中,则它是一个单一会话。如果您想要默认值,那么在JPA中进行适当的映射,并在java code.Wow中填充默认值。这对我来说是一个很大的启示。在我的例子中,映射/关系由孩子拥有。我试图避免瀑布,但我会重新考虑。这+使用@Transactional可能会解决我的问题。