1、問題:在使用Spring、Hibernate開發(fā)的數(shù)據(jù)庫應(yīng)用中。發(fā)現(xiàn)不管如何。數(shù)據(jù)都插不到數(shù)據(jù)庫??墒浅绦虿粓箦e。能查詢到。也能插入。
2、分析:Hibernate設(shè)置了自己主動提交仍然無論用,其原因非常easy,非??赡苣愕某绦虿僮鞯谋砗湍阆氩僮鞯谋聿⒎峭粋€表,假設(shè)程序中的注解表名和待操作表名不一致,則會建立新表,比如:
@Entity
@Table(name = "sampleData")
public class SampleData implements Serializable {
在這段代碼中指定的表名是sampleData,而實際想操作的表名為t_data。
這時不管你如何在t_data中查詢新插入的記錄都查不到。而反復插入時。卻報插入反復,且能取到數(shù)據(jù)。
這是一個非技術(shù)問題,但假設(shè)沒有及時發(fā)現(xiàn),卻是浪費了非常多的時間。
3、解決:將程序中的注解表名設(shè)置為待操作表的表名。
本文摘自 :https://blog.51cto.com/u