2014-01-06 19 views
5

私はPostgres 9.2、hibernate 4.3.0 finalを使用しています。単純なHibernateプロジェクトを実行しても効果がありません

私はtestClass持っている:他のクラスのメソッドから作成

@Entity 
@Table(name="testClass") 

public class testClass implements Serializable { 

    @Id 
    @Column(name = "id") 
    private Integer id; 

    @Column(name="name") 
    private String name; 

    public Integer getId() { 
     return id; 
    } 
} 

:ここ

try { 
    new Configuration().configure("/hibernate.cfg.xml"); 
    new testClass(); 
} catch(Exception e) { 
    System.out.println(e); 
} 

は私hibernate.xml.cfgです:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
     "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory name="postgres"> 
     <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> 
     <property name="hibernate.connection.password">123</property> 
     <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/postgres</property> 
     <property name="hibernate.connection.username">postgres</property> 
     <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> 
     <property name="hbm2ddl.auto">create</property> 
     <mapping class="testClass"/> 

    </session-factory> 
</hibernate-configuration> 

これは、JBossサーバー側で実行されます:

[2014-01-06 05:59:01,592] Artifact server:ejb: Artifact is deployed successfully 
17:59:22,880 INFO [org.hibernate.cfg.Configuration] configuring from resource: /hibernate.cfg.xml 
17:59:22,881 INFO [org.hibernate.cfg.Configuration] Configuration resource: /hibernate.cfg.xml 
17:59:22,889 INFO [org.hibernate.cfg.Configuration] Configured SessionFactory: postgres 

何も起こりません:(
私のPostgresDBで新しいテーブルをチェックしていますが、何もありません。

私は何を欠席しましたか?

+0

あなたは何もしていないと思います。ちょうどそれを開き、それを読んでください –

+1

最初から右のすべての詳細が付いた素晴らしい質問に感謝します。もしできれば私は+10になるだろう。 –

答えて

6

何が起こりますか?

新しい空のエンティティを作成して終了します。

エンティティマネージャを持つエンティティ(〜Session)を持たないエンティティはpersist()です。したがって、データベースに関しては存在しません。他のJavaオブジェクトと同じように単純なJavaオブジェクトであり、最後の参照が削除されるとガベージコレクションが取得されます。 ConfiguationSessionFactoryを生産し、どこかにアクセスSessionFactoryを保存するために

  • 用途:

    あなたがする必要があります。これは常に作成したくないので、起動時に作成する必要があります。コンテナ管理の持続性と注入性はここでは手軽です。

  • は、それは良いかもしれません

  • など、それは適切なキーの生成後にDBに INSERT編を取得しますので、 Session.save(...)に新しいオブジェクトを渡し SessionFactory

  • から

Sessionを取得しますオブジェクトのライフサイクルの基本をカバーするためにHibernateやJPAのチュートリアルを再読み込みするアイデア。 The Getting Started Guideがよい開始点、特にthe section on native Hibernate APIsかもしれません。

個人的には、私が基本的なものをやっていたら、代わりにJPA APIを使用します。 PersistenceUnit,EntityManagerなどGetting started with Hibernate and JPAを参照してください。

関連する問題