hibernate 中Entity主鍵採用UUID時save不保存

一、問題描述:
框架springmvc+spring +hebernate中採用註解方式配置實體類,保存entity是不報錯,但無法保存數據。
配置Hibernate的實體ID爲uuid類型,實體ID採用註解配置類型,具體配置如下

    @Id
	@GeneratedValue(generator = "uuid")
	@GenericGenerator(name = "uuid", strategy = "org.hibernate.id.UUIDGenerator")
	@Column(name="id")
	private String id;

二、問題原因:
spring與springMVC混淆。當springMVC和spring同時掃描到@service和@respiratory類,@service和@respiratory類將出現事務混亂,@controller調用@service和@respiratory類時,事務無法正常運行 ,數據無法保存。
三、解決方法:
1、把ID改爲int類型自增。
2、修改springmvc掃描配置,把掃描的包只掃面到@controller類的包即可
四、影響
事務混亂同時影響Hibernate中saveOrUpdate方法,會導致Hibernate執行saveOrUpdate時只能插入不能更新。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章