2017-10-30 3 views
0

に取り組んでいない:春スネークケースの変換は、私はこのように私のエンティティ定義持っている外部キー列

@ManyToOne 
private DomainObject domainObject; 

をコードを実行している間、私はこのエラーを取得する:

2017-10-30 14:58:52,517 WARN rnate.engine.jdbc.spi.SqlExceptionHelper: 127 - SQL Error: 1054, SQLState: 42S22 
2017-10-30 14:58:52,520 ERROR rnate.engine.jdbc.spi.SqlExceptionHelper: 129 - Unknown column 'domainObject_id' in 'field list' 

私のテーブルFK列の名前はdomain_object_id。私はdomain_object_idとしてSQLを生成することを期待していた

properties: 
    hibernate: 
    naming: 
     strategy: org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy 

、それはdomainObject_idとして変換されます。

は、私は私のapplication.ymlでこれを持っています。私は間違って何をしていますか?

他の非外部キー列は変換されています。この問題は、外部キー列でのみ発生します。

答えて

0

あなたはdomain_object_idその後、使用、private DomainObject domain_object;を期待している場合はそれがあるため、この属性private DomainObject domainObject;

domainObject_idを生成しています。 _idはパラメータ名の末尾に追加されるため、

+0

ハズレをしたいと、列が正確に命名されることを確信しているその方法を使用してみてください。私はこれが属性名にアンダースコアなしで動作するはずだと思います。私はラクダのケース変換が間違いなく働いた他のプロジェクトを持っています。 – user1880957

1

はjavax.persistence.JoinColumn

@ManyToOne 
JoinColumn(name="domain_object_id") 
private DomainObject domainObject; 

にあなたがあなたが

+0

はい、これは機能しました。ありがとう。しかし、私はまだこのアノテーションなしで他のプロジェクトでどのように機能しているのか不思議です。誰かがこの問題の根本的な原因を指摘できるかどうかを待っている.... – user1880957

関連する問題