Java jpa hibernate mysql查询中断

Java jpa hibernate mysql查询中断,java,mysql,spring,hibernate,jpa,Java,Mysql,Spring,Hibernate,Jpa,嗨,我的Spring boot JPA Hibernate类有一个令人困惑的错误 我使用JPA Dali工具从我的SQL模式创建实体类。 在使用它们(使用SpringBootJPA/hibarnate)时,我遇到了一些与不匹配的查询有关的奇怪问题。 以下是一个例子: 特性: hibernate.dialect=org.hibernate.dialect.MySQLDialect spring.jpa.hibernate.ddl-auto=none spring.datasource.url=jd

嗨,我的Spring boot JPA Hibernate类有一个令人困惑的错误

我使用JPA Dali工具从我的SQL模式创建实体类。 在使用它们(使用SpringBootJPA/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> {

}
这里的问题是image\u url1它应该是imageurl1,如Entity类中所述。这种情况发生在几个方面


为什么Hibernate在查询中将CamelCase getter转换为camel\u大小写?我怎样才能将其配置为不这样做呢?

似乎有很多人在不同的情况下遇到相同的问题。也许去看看下面不同的命名策略:


但是,您可以更改休眠的配置。在这方面寻求进一步的帮助。或者,去看看这个,看看有人是如何使用上述方法更改的。

如果您想自己指定列名,请使用
@column
为字段添加批注

例如:

@Column(name = "imageUrl1")
private String imageUrl1;
@Column(name = "nameFirst")
private String name_first;

NamedQuery是为java Pojo名称而不是表名称编写的。他的查询适用于
用户
部分。@Yogidlip抱歉,修正了很多问题。这很直接:)添加:@Column(name…)只能是小写,否则它们也会被忽略。e、 g.:@Column(name=“imageurl1”)@GregorSklorz您在哪里找到这些信息的?通常sql不区分大小写,对于下面建议的DBA来说应该无关紧要,您可以输入列名,然后再试一次。如果你面临任何问题,请例外。是的,我也发现了一些问题。谢谢,我不知道为什么我第一次找不到它。谢谢
@Column(name = "imageUrl1")
private String imageUrl1;
@Column(name = "nameFirst")
private String name_first;