2017-01-14 7 views
2

予想作成していないHibernateは+、私は(特に)これらの答えを知ってる:春データ-JPAが表

まだ、テーブルの自動作成は機能しません。

は私がcommon application properties

期待される結果からHibernateSpringの異なるバージョン、JpaBaseConfigurationからでも実装クラスJpaConfig、および追加服従のプロパティを使用しました:hbm2ddlスキーマの更新を実行

実績結果:

実行hbm2ddlスキーマ・エクスポート

私はorg.hibernate.cfj.Configuration Iterator<Table> getTableMappings()見ますが、このメソッドの戻りemtyリストではなくクラス - マッピング>テーブル

すべてのヘルプは次のようになります感謝。

Application.yml:

spring: 
    datasource: 
    url: jdbc:postgresql://localhost:5432/task-manager 
    username: postgres 
    password: password 
    schema: public 
    jpa: 
    generate-ddl: true 
    hibernate: 
     naming-strategy: ru.ssau.common.naming_strategy.CustomNamingStrategy 
     ddl-auto: create-drop 

logging: 
    level: 
    org: 
     hibernate: 
     SQL: DEBUG 
     type: 
      descriptor: 
      sql: 
       BasicBinder: TRACE 

プロパティdriverClassNameを追加すると、それを解決しません:

マイエンティティ:コンソールから

@Entity(name = "simple_user") 
public class User extends PersistentObject { 

    @Column(unique = true, nullable = false) 
    private String nickname; 


    @OneToOne 
    @JoinColumn(name = "user_account_id") 
    private UserAccount userAccount; 

    public User() { 
    } 

    public User(String nickname) { 
     this.nickname = nickname; 
    } 

    public String getNickname() { 
     return nickname; 
    } 

    public void setNickname(String nickname) { 
     this.nickname = nickname; 
    } 

    public UserAccount getUserAccount() { 
     return userAccount; 
    } 

    public void setUserAccount(UserAccount userAccount) { 
     this.userAccount = userAccount; 
    } 
} 

Hibernateの出力:

HHH000412: Hibernate Core {4.3.11.Final} 
HHH000206: hibernate.properties not found 
HHH000021: Bytecode provider name : javassist 
HCANN000001: Hibernate Commons Annotations {4.0.5.Final} 
HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL9Dialect 
HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException 
HHH000397: Using ASTQueryTranslatorFactory 
HHH000227: Running hbm2ddl schema export 
HHH000230: Schema export complete 

答えて

0

だけで、次のコンフィギュレーションに追加します。

spring: 
    jpa: 
    hibernate: 
     ddl-auto: none 
    properties: 
     hibernate.hbm2ddl.auto: create-drop 

は1.4.3.RELEASEを使用して、私に適しています。

+0

はい、私は、このプロパティを追加しましたが、それは:( – Dmitry

+0

は、二回、これを実行するために必要なことがあります動作しません。(あなたがドロップされていない、あなたの前回の実行から、データベース構造を持っていました、 。それにもかかわらずの休止後、あなたはあなたのアプリケーションを停止して)サイクル構造を作成する必要があり、次回の起動中に動作します –

+0

をドロップDDL-自動ルーチンは悪い習慣であり、テーブルが既に存在しているので、それほど起動時に休止状態では、データベース構造を作成しようとしますが、失敗します。 、私の視点から。私は個人的に私のユニット・テスト中にこれを使用しています。そして、生産と統合テストのために私は非常にプロジェクトに投入することをお勧めしますLiquiBaseをし、使用しません。 –

0

私は同じことに直面していますが、私のケースでは、さまざまなエンティティのうちの1つだけが自動的にデータベースに作成されません。一緒に解決しようとします。

私entitysは次のようにseens:

@Entity 
@Table(name = "tablename") 
public class ClassName { 

    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 

    private long id; 
    ... 

は、上記のような注釈を入れて、作品なら、私に教えてみてください。

Tks。

関連する問題