JPAプロバイダとして休止状態のMySqlでspring-data-restを使用しようとしています。spring data rest hibernateはすべてのテーブル名を小文字で囲み、@Table( "Name")を無視します。
クエリで使用されているテーブル名をクラスの単純な名前に一致させたい。これ以上何もない。どのように達成するのですか?
すべての命名方法を試したところ、効果がないようです。また、私は
@Table("Foo")
が追加されている、それは小文字だけでなく
ここエラーですます:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:テーブル 'TEST.worker'ここで
存在しないエンティティである:
@Entity
public class Worker {
private Long id;
private String givenName;
private String familyName;
private LocalDate dob;
private String nationalId;
private byte[] photo;
public Worker() {
this.id = Math.abs(new Random().nextLong());
}
@Id
@Column(name = "ID")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Basic
@Column(name = "GivenName")
public String getGivenName() {
return givenName;
}
public void setGivenName(String givenName) {
this.givenName = givenName;
}
@Basic
@Column(name = "FamilyName")
public String getFamilyName() {
return familyName;
}
public void setFamilyName(String familyName) {
this.familyName = familyName;
}
@Basic
@Column(name = "DOB")
public LocalDate getDob() {
return dob;
}
public void setDob(LocalDate dob) {
this.dob = dob;
}
@Basic
@Column(name = "NationalID")
public String getNationalId() {
return nationalId;
}
public void setNationalId(String nationalId) {
this.nationalId = nationalId;
}
@Basic
@Column(name = "photo")
public byte[] getPhoto() {
return photo;
}
public void setPhoto(byte[] photo) {
this.photo = photo;
}
}
私の関連する設定:春データから
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.show-sql=true
spring.jpa.generate-ddl = false
spring.jpa.hibernate.ddl-auto = none
spring.jpa.hibernate.naming-strategy=org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy
推移依存関係:
[INFO] | +- org.hibernate:hibernate-entitymanager:jar:4.3.11.Final:compile
[INFO] | | +- org.hibernate:hibernate-core:jar:4.3.11.Final:compile
[INFO] | | +- org.hibernate.common:hibernate-commons-annotations:jar:4.0.5.Final:compile
[INFO] | | \- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
This linkは適用されません。
[この質問](http://stackoverflow.com/questions/28571848/spring-boot-jpa-insert-in-table-with-uppercase-name)で提供されている解決策のいずれかが機能しますか? – Chatoyancy
どのHibernateバージョンを使用していますか? –
@Chatoyancyはい、実際に。私は不注意に自分自身に遭遇しましたが、あなたのリンクは機能します。あなたが望むなら、答えとしてそれを提供してください。私は基本的にスタックを上に戻って、そのテーブル名にどのように来ているのか把握し、intellijからオートコンプリートを使用してそこに到達しました。私は間違った質問をしていたようで、OSに関連する回答に私を誘導していたので、早く見つけられませんでした。 –