こんにちは私は私のSpring-boot-JPA-Hibernateクラスに混乱しているエラーがあります。jpa hibernate mysql query broken
JPA Daliツールを使用して、自分のSQLスキーマからEntityクラスを作成しました。 (Spring-boot-jpa/hibarnateを使用して)それらを使用している間、私は匹敵しないクエリにいくつかの奇妙な問題があります。
プロパティ:
hibernate.dialect=org.hibernate.dialect.MySQLDialect
spring.jpa.hibernate.ddl-auto=none
spring.datasource.url=jdbc:mysql://localhost:3306/users
spring.datasource.username=root
spring.datasource.password=root
エンティティ:
@Entity
@Table(name="n_user")
@NamedQuery(name="NUser.findAll", query="SELECT n FROM NUser n")
public class NUser implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private int id;
private String imageUrl1;
private String name_first;
public NCaterer() {
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public String getImageUrl1() {
return this.imageUrl1;
}
public void setImageUrl1(String imageUrl1) {
this.imageUrl1 = imageUrl1;
}
public String getName_first() {
return this.name_first;
}
public void setName_first(String name_first) {
this.name_first = name_first;
}
}
リポジトリ:ここ は一例であり
public interface UserRepo extends CrudRepository<NUser, Long> {
}
しかし、Hibernateは、それのこのクエリを作成します。
Hibernate:
/* select
generatedAlias0
from
NUser as generatedAlias0 */ select
nuser0_.id as id1_0_,
nuser0_.image_url1 as image_ur2_0_,
nuser0_.name_first as name_firs3_0_
from
n_user nuser0_
ここでの問題は、image_url1です。これは、エンティティクラスで説明されているようにimageurl1である必要があります。これはいくつかの点で発生します。
なぜHibernateはCamelCase getterをクエリでcamel_caseに変換するのですか?そして私はそれをしないように設定することができますか?
は、あなたが列名を入れて試すことができます。問題が発生した場合は例外を設定します。 – yogidilip