1
我正在研究用戶可以將消息發送給多個人的需求,我必須將這些消息保存在消息表中。
我正在使用JPA entityManager持久化對象和Hibernate作爲持久性提供者和Spring聲明式事務管理。Spring Hibernate JPA不在同一個表中保存多行
即使我正在執行persist()方法三次,它只保存表中的一行。我不知道我應該怎麼做才能保存所有的信息。它不顯示任何異常消息。
以下是在applicationContext.xml中
<tx:advice id="txAdvice" >
<tx:attributes>
<tx:method
name="*"
propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut
id="messageServiceOperation"
expression="execution(* com.abhinow.message.services.*.*(..))" />
<aop:advisor
advice-ref="txAdvice"
pointcut-ref="messageServiceOperation" />
</aop:config>
我的聲明式事務管理配置以下是我在服務類MessageService.java
private void saveMultipleMessages(SentMessage message) {
String[] toAddresses = message.getMultipleDestinations().split(",");
for(String to: toAddresses) {
message.setTo(to);
saveMessage(message);
}
}
public void saveMessage(SentMessage message) {
messageRepository.saveSentMessage(message);
}
下面的代碼是代碼在我MessageRepository.java
@Repository
public class MessageRepository {
@PersistenceContext
EntityManager entityManagerFactory;
public void saveSentMessage(SentMessage message) {
entityManagerFactory.persist(message);
}
}
任何幫助,將不勝感激。在此先感謝
非常感謝。有效。 –