2016-11-22 18 views
0

私はシンプル休止私のテーブルにデータを保存をやろうとしているが、私は、コンソールでのトランザクションの例外を持って、ここに私のコードです:トランザクション例外は

logging.java 

@Entity 
@Table(name = "Logging") 
public class Logging implements Serializable { 

    private int id; 
    private String user; 
    private String action; 
    private Date date; 

    @Column(name = "ID") 
    @Id 
    public int getId() { 
     return id; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 

    @Column(name = "USER_NAME") 
    public String getUser() { 
     return user; 
    } 

    public void setUser(String user) { 
     this.user = user; 
    } 

    @Column(name = "action") 
    public String getAction() { 
     return action; 
    } 

    public void setAction(String action) { 
     this.action = action; 
    } 

    @Column(name = "DATE") 
    @Temporal(TemporalType.DATE) 
    public Date getDate() { 
     return date; 
    } 

    public void setDate(Date date) { 
     this.date = date; 
    } 

、それは私の挿入方法です:

public class BaseDAO { 
    public SessionFactory factory; 

    public Session session; 

    public BaseDAO() { 
     factory = new AnnotationConfiguration().configure(
       "hibernate.cfg.xml").buildSessionFactory(); 
    } 

    public void save(Object obj) throws Throwable { 
     session = factory.openSession(); 
     Transaction tx = null; 

     tx = session.beginTransaction(); 
     session.save(obj); 
     tx.commit(); 
    } 

私は私のデータを保存しています私がloginservlet:DB内

Logging loggingdto = new Logging(); 
try { 
    loggingdto.setId(1); 
    loggingdto.setUser(loggedInUserDTO.getUserName()); 
    loggingdto.setAction("USER LOGGED IN"); 
    loggingdto.setDate(new Date()); 
    base.save(loggingdto); 
} catch (Throwable e) { 
    e.printStackTrace(); 
} 

私のテーブル

create table Logging(
id int not null, 
user_name varchar(50) not null, 
action varchar(50) not null, 
Date date 
primary key (id) 
); 

コンソールにデータがテーブルにそれ

Hibernate: insert into Logging (action, DATE, USER_NAME, ID) values (?, ?, ?, ?) 

のような間違った順序で挿入され、それがその

Hibernate: insert into Logging (id, user_name, action, date) values (?, ?, ?, ?) 
ようにする必要があり、Hibernateのプリントを表示されます別の問題

私はテーブルをチェックすると、それが空であることがわかりましたか?

+0

トランザクション例外のスタックトレースを追加してください:あなたのコンソールではなく _Hibernateの

_Hibernate: insert into Logging (action, DATE, USER_NAME, ID) values (?, ?, ?, ?)_ 

を示し理由です 。 –

+0

また、 'hibernate.cfg.xml'ファイルも追加してください! –

+0

@ N00b Pr0grammer私はhibernate.cfg.xmlが正しいことを確信しています。 –

答えて

0

テーブルを作成するためにクエリで指定された列名と、Logging.javaファイルに相違があります。 (????、、、)ログ(ID、USER_NAME、アクション、日付)の値に挿入_

関連する問題