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

JPA查询得到转换[重复]

戎志勇
2023-03-14

我有一个存储库方法

@Query("from Application app where app.id.hostId = :hostId")
List<Application> getApplicationsByApplicationId(@Param("hostId") String hostId);
public class Application {

    @EmbeddedId
    Composite id;
     ...
     ...

    @Embeddable
    public static class Composite implements java.io.Serializable {
        @Column(name = "id")
        private String id;

        @Column(name = "hostId")
        private String hostId; 
        ....
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'application0_.host_id' in 'field list'.

共有1个答案

锺离阿苏
2023-03-14

这是由Hibernate命名策略造成的。默认策略将Java中的camel case转换为数据库中的_。

如果您不希望这种行为,请使用JPA default。您可以在Application.Properties中设置它:

spring.jpa.hibernate.naming_strategy: org.hibernate.cfg.EJB3NamingStrategy
 类似资料:
  • 问题内容: 我有这个查询,我需要在hql中将其转换,但我有点困惑,不知道如何编写hql中“ where”子句中出现的条件。 什么是hql等效于此sql查询? 问题答案: 请在HQL查询下面找到:假设p_message和p_config是域对象名称,其他是映射到列的属性。

  • 是否可以将像这样的JPQL sting转换为对象,在该对象中我可以检查查询的根是否为(使用),或者以不同的方式执行相同的操作(不转换为)? JPA文档非常简单(例如,的类注释说“返回一个CriteriaBuilder的实例以创建CriteriaQuery对象。”-10或20个句子和更多的引用也无妨)。因此,它没有提到任何关于反转进程的内容。 将jpql连接查询转换为条件api以及如何将带有子查询的

  • 问题内容: 我在表上有这些数据(使用SQL Server 2005): 我想将其转换为: 现在最困难的部分是:假设我没有其他数据字段指定哪个记录是早餐,午餐或晚餐。我想将它们与最短的开始时间相关联,即,开始时间越短将是早餐,其次就越是午餐,晚餐就越高(假设所有三个(并且只有三个)记录总是被填充)。 有任何想法吗? 问题答案:

  • 问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: 在MySQL中为数值选择TOP X(或底部)百分比 我将如何在MySQL中编写此查询? 该表中的条目数将不断变化,因此我需要按百分比而不是固定数进行选择。 问题答案: 这实际上是一个重复的问题,但是我现在有一个更好的单次快速回答:

  • 问题内容: 我有一个延伸的对象。默认情况下,两个对象都在我的Derby数据库的表中(来自的包含字段)。通常我会选择一个这样的: 但是由于查询的复杂性,我使用的是本机查询,如下所示: 尽管这会引发强制转换异常。我认为这是由于中的任何字段造成的。 我的问题是,我如何选择一个使用本机查询的结果与第一个示例相同的结果(包括与JPQL查询将返回的和(等)相同的值)? 问题答案: 您可能想尝试以下方法之一:

  • 我试图将我的Mysql查询转换为JPQL,但我不知道哪个工具可以在eclipse上使用而无需编译。 我的日志没有告诉我哪里是错误,所以我找不到哪里是错误的语法。 谢谢你的帮助!