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

findById()未提供找到的属性Id

裘臻
2023-03-14

我有三个实体。(在本例中,我使用xxx作为占位符)

我已经用

@Entity
@Table(name = "xxx")
public class xxx {

@Id
@Column(name = "xxx_id")
int xxx_id;

然而,我能够做到:

findById(int...)只适用于它们各自存储库中的一个实体。当我试图为另外两个实体这样做时,我遇到了这个问题:

“派生查询无效!找不到类型xxx的属性id!”

我能够运行它并得到正确的结果。但是为什么我得到了两个实体的这个错误,而不是另一个?

我以完全相同的方式设置实体和它们的存储库。唯一的区别是,在存储库不返回任何错误的实体中,我将该实体与存储库失败的另一个实体连接在一起,但是我在@JoinClons部分使用了“mappdBy”。

这和那个没有问题有关系吗?

共有1个答案

严远
2023-03-14

怎么找到的。。。作品

Entity:
private int clientid;
private String firstname;
private String lastname;

查询:

findBy<Name_as_per_entity>
findByClientid(int clientid);
findByFirstnameAndLastname(String firstname, String lastname)

因为我们将下划线字符视为保留字符,所以强烈建议遵循标准Java命名约定(即,不要在属性名称中使用下划线,而是使用驼峰大小写)。

医生

下划线是Spring数据查询派生中的保留字符,可能允许手动描述属性路径。

坚持使用camel-case作为成员变量名的Java命名约定,一切都会按预期进行。

也参考这个

 类似资料:
  • 我正在尝试使用JPA和EclipseLink来持久化元素。所以我创建了一个类来持久化 等等。我创建了一个类来“使用”: 然后,我有以下persistence.xml: 但是,即使我改变了属性,我也有同样的错误: 线程"main"中的异常javax.persistence.PeristenceException:没有名为MyPU的EntityManager的持久性提供程序(当调用工厂=Persist

  • 我有以下实体: 然后我创建我的存储库: 但我一开始就收到: 未找到MyTable类型的属性getCountOf 我到底做错了什么?

  • 我最近开始使用ReactiveCouchbase Repository(sping-data-Couchbase-3.0.0。M2,Spring-引导-启动器-父-2.0.0。M2)在我们的一个项目中。 我从这里引用了未发布的文档并设置了项目,但我得到了以下错误。 以下是关于设置我的项目的相关信息。 @Maven @爪哇 现在,我确实经历了这个和这个,但在这里,我没有在DummyRepositor

  • 使用材质组件时无法运行project。 错误日志: Android资源链接输出失败:D:\Android Projects\Ghar3\app\src\main\res\layout\main\u layout。xml:23:错误:未找到fabAttached属性(又名com.reseaction.ghar:fabAttached)。错误:链接文件资源失败。 命令:C:\Users\Abdul Q

  • 我不知道为什么Spring不喜欢我的代码: 我有: : : < code > entryserviceimpl . Java : 此代码给我一个错误: org.springframework.beans.factory。BeanCreationException:创建名为“entryDao”的bean时出错:调用init方法失败;嵌套异常是org.springframework.data.map。

  • 我正在分布式模式下运行Kafka Connect(Confluent),最近添加了数据库。timezone属性设置为JDBC源连接器。这样做之后,当我加载连接器时,会看到以下错误: java.lang.NoClassDefFoundError:无法初始化Java . time . zone . zonerulesprovider类\ n \ tat Java . time . zoneregion