当前位置: 首页 > 知识库问答 >
问题:

spring data rest hibernate将所有表名大小写化,并忽略@table(“name”)

公西俊德
2023-03-14

我试图将spring-data-rest与MySql一起使用,并将hibernate作为JPA提供程序。

@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

共有1个答案

申屠俊发
2023-03-14

由于您使用的是SpringNamingStrategy,所以它使用的值与Hibernate中的PromedNamingStrategy相同(请在此处验证)。

如果检查PremedNamingStrategy的链接,您将看到TableName的默认行为是小写任何混合大小写名称,这似乎是您的大小写。

 类似资料:
  • 本文向大家介绍grep 忽略大小写,包括了grep 忽略大小写的使用技巧和注意事项,需要的朋友参考一下 示例 给定一个文件sample: grep“ hello”的法线返回: 使用-i允许忽略大小写并匹配任何“ hello”:            

  • 问题内容: 即时通讯只是从C#-> Java移动。我需要使用junit编写一些测试。在我的测试中,我需要比较两个字符串以查看它们是否匹配。因此,我们也有Assert.assertEquals,但这是区分大小写的。如何使它不区分大小写?我需要的是: 返回true。 因此,在C#中,我们曾经有: 我很快就浏览了Junit文档,但似乎找不到任何东西。 问题答案: 我发现Hamcrest提供的断言必须比默

  • 问题内容: 我有一个列表,其中包含代表动物名称的字符串。我需要对列表进行排序。如果使用,它将首先使用大写字符串然后使用小写形式提供列表输出。 但是我需要下面的输出。 输入: 输出: 问题答案: 该方法和功能迈出了关键的参数: 为每个值调用名为in的函数,并在排序时使用返回值,而不会影响实际值: 要在之前进行排序,您必须在键中包含更多信息,以便以给定的顺序对相等的值进行排序: 为和为生成更复杂的密钥

  • 在这种情况下,如果验证失败,我希望将请求返回给用户,并附上相应的错误消息。我遇到的问题是,我使用Jackson处理JSON请求,验证失败也会导致Jackson无法序列化消息。 例如,如果我有此对象: ...当我去序列化时,字段无效(假设它有11个字符)... ...我得到了一个JsonProcessingException(错误验证对象)。我已经确认一个有效的对象序列化没有问题。所以我的问题是:我

  • 问题内容: 如标题中所述,我想忽略文档中元素名称的大小写。 我尝试使用Blaise Doughan发布的代码: 这实际上是行不通的。 对于此XML: 问题答案: 您可以将所有属性映射到小写的节点名称,然后包装XMLStreamReader以对其返回的所有属性/元素名称调用toLowerCase()。然后从该XMLStreamReader解组。 我最近为此问题添加了对EclipseLink JAXB

  • 问题内容: 是否可以确定String是否包含字符串模式?我想知道当字符不区分大小写时是否有可能。如果是这样,怎么办? 问题答案: 您可以使用 检查CharSequence是否包含搜索CharSequence(不区分大小写),处理为null。不区分大小写由String.equalsIgnoreCase(String)定义。 空的CharSequence将返回false。 这将比regex更好,因为

  • 我有一个Spring Boot应用程序,它公开了RESTAPI。此API接受枚举列表作为查询参数。该批状态用于根据其状态过滤所有批。 当试图调用这个RESTAPI时,我得到了以下错误 Spring正在BatchStatus中寻找active,而不是active。 深入研究spring转换服务,我发现了两个转换器。StringToEnumConverterFactory(来自Spring芯) 2。S

  • 问题内容: 这样做的目的是从用户那里获得一个句子并确定每个元音中出现了多少个。大部分是完成的,除了我不确定如何忽略大写和小写字母外,但我猜是equalsIgnoreCase或toUpperCase()。 我想也知道,如果有另一种方式做到这一点使用的一些其他类,或。我仍然是编程的新手,这一章让我丧命。 } 这里的代码 问题答案: 由于您正在比较原始字符, 应该已经是您使用Java的最佳方式。 但是,