2016-10-01 7 views
0

私はSpringブートJPAをapplication.propertiesに設定されていない方言で使用しています。私の出力で は、私は、Hibernateは以下のDDLコマンドを生成していることがわかります:構文エラーにつながるHibernateが無効なDDL(PostgreSQL 9.6)を生成します

create table user 
(
    id int8 not null, 
    password varchar(255), 
    username varchar(255), 
    primary key (id) 
) 

を、テーブル名が引用符で囲まなければならないからです。

私のapplication.propertiesだ

spring.datasource.url=jdbc:postgresql://localhost:5432/springtest 
spring.datasource.username=... 
spring.datasource.password=... 

spring.jpa.hibernate.ddl-auto=create-drop 
spring.jpa.show-sql=true 
+2

'user'は予約語(キーワード)です。他の名前を試してみてください(または、「CREATE TABLE」ユーザ「...」と引用してください) – wildplasser

+0

難読化層を納得させることができますそうするために。予約語を識別子として使用すると、さらに多くの問題が発生します。 –

+0

*難読化レイヤー*は確かに正しい用語です。たとえば、構文のハイライトが間違っていることがどのくらいの頻度で見られますか?ちょうどそれを信用しないでください。それに頼らないでください。それは起こるのを待っている破損です。 IMnsHO – wildplasser

答えて

0

あなたが引用符でテーブル名を使用することができます。
ここで私が解決した細かいexampleの1つです。答えには、必要なものすべてが含まれています。

関連する問題