gpt4 book ai didi

java - 解决org.springframework.data.mapping.PropertyReferenceException : No property getOne found for type MyLog

转载 作者:太空宇宙 更新时间:2023-11-04 10:15:07 26 4
gpt4 key购买 nike

我正在开发 spring boot 项目,刚刚升级到 spring boot 2.0.3.RELEASE 版本。

升级后,我遇到以下问题

org.springframework.data.mapping.PropertyReferenceException

我到处搜索,但 PropertyReferenceException 抛出错误,查找类中或任何地方不存在的对象。

我搜索了很多,但找不到解决方案。

MyLog.java

package com.my.domain;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.springframework.data.elasticsearch.annotations.Document;

import javax.persistence.*;
import java.io.Serializable;
import java.time.ZonedDateTime;
import java.util.Objects;

/**
* A myLog.
*/
@Entity
@Table(name = "my_log")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Document(indexName = "mylog")
public class MyLog implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "my_id")
private Long id;

@Column(name = "my_rc_item_affected")
private Long myRcItemAffected;

@Column(name = "my_record_affected")
private Long myRecordAffected;

@Column(name = "my_item_affected")
private Long myItemAffected;

@Column(name = "my_entity")
private String myEntity;

@Column(name = "my_updated_date")
private ZonedDateTime myUpdatedDate;

@Column(name = "my_updated_by")
private String myUpdatedBy;

@Column(name = "my_action")
private String myAction;

@Column(name = "my_field_modified")
private String myFieldModified;

@Column(name = "my_new_value")
private String myNewValue;

@Column(name = "my_old_value")
private String myOldValue;

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public Long getmyRcItemAffected() {
return myRcItemAffected;
}

public myLog myRcItemAffected(Long myRcItemAffected) {
this.myRcItemAffected = myRcItemAffected;
return this;
}

public void setmyRcItemAffected(Long myRcItemAffected) {
this.myRcItemAffected = myRcItemAffected;
}

public Long getmyRecordAffected() {
return myRecordAffected;
}

public myLog myRecordAffected(Long myRecordAffected) {
this.myRecordAffected = myRecordAffected;
return this;
}

public void setmyRecordAffected(Long myRecordAffected) {
this.myRecordAffected = myRecordAffected;
}

public Long getmyItemAffected() {
return myItemAffected;
}

public myLog myItemAffected(Long myItemAffected) {
this.myItemAffected = myItemAffected;
return this;
}

public void setmyItemAffected(Long myItemAffected) {
this.myItemAffected = myItemAffected;
}

public String getmyEntity() {
return myEntity;
}

public myLog myEntity(String myEntity) {
this.myEntity = myEntity;
return this;
}

public void setmyEntity(String myEntity) {
this.myEntity = myEntity;
}

public ZonedDateTime getmyUpdatedDate() {
return myUpdatedDate;
}

public myLog myUpdatedDate(ZonedDateTime myUpdatedDate) {
this.myUpdatedDate = myUpdatedDate;
return this;
}

public void setmyUpdatedDate(ZonedDateTime myUpdatedDate) {
this.myUpdatedDate = myUpdatedDate;
}

public String getmyUpdatedBy() {
return myUpdatedBy;
}

public myLog myUpdatedBy(String myUpdatedBy) {
this.myUpdatedBy = myUpdatedBy;
return this;
}

public void setmyUpdatedBy(String myUpdatedBy) {
this.myUpdatedBy = myUpdatedBy;
}

public String getmyAction() {
return myAction;
}

public myLog myAction(String myAction) {
this.myAction = myAction;
return this;
}

public void setmyAction(String myAction) {
this.myAction = myAction;
}

public String getmyFieldModified() {
return myFieldModified;
}

public myLog myFieldModified(String myFieldModified) {
this.myFieldModified = myFieldModified;
return this;
}

public void setmyFieldModified(String myFieldModified) {
this.myFieldModified = myFieldModified;
}

public String getmyNewValue() {
return myNewValue;
}

public myLog myNewValue(String myNewValue) {
this.myNewValue = myNewValue;
return this;
}

public void setmyNewValue(String myNewValue) {
this.myNewValue = myNewValue;
}

public String getmyOldValue() {
return myOldValue;
}

public myLog myOldValue(String myOldValue) {
this.myOldValue = myOldValue;
return this;
}

public void setmyOldValue(String myOldValue) {
this.myOldValue = myOldValue;
}

@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
myLog myLog = (myLog) o;
if(myLog.id == null || id == null) {
return false;
}
return Objects.equals(id, myLog.id);
}

@Override
public int hashCode() {
return Objects.hashCode(id);
}

@Override
public String toString() {
return "myLog{" +
"id=" + id +
", myRcItemAffected='" + myRcItemAffected + "'" +
", myRecordAffected='" + myRecordAffected + "'" +
", myEntity='" + myEntity + "'" +
", myUpdatedDate='" + myUpdatedDate + "'" +
", myUpdatedBy='" + myUpdatedBy + "'" +
", myAction='" + myAction + "'" +
", myFieldModified='" + myFieldModified + "'" +
", myNewValue='" + myNewValue + "'" +
", myOldValue='" + myOldValue + "'" +
'}';
}
}

MyLogRepository 类

package com.my.repository;

import com.my.domain.MyLog;

import org.springframework.data.jpa.repository.*;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.time.ZonedDateTime;
import java.util.List;

/**
* Spring Data JPA repository for the MyLog entity.
*/
@SuppressWarnings("unused")
@Repository
public interface MyLogRepository extends JpaRepository<MyLog, Long> {

List<MyLog> findAllByMyUpdatedDateBetweenOrderByMyUpdatedDateDesc(ZonedDateTime fromDate, ZonedDateTime toDate);

List<MyLog> findByMyRcItemAffectedAndMyEntity(Long itemAffected, String myEntity);

@Query("SELECT a FROM MyLog a WHERE a.myRcItemAffected = :itemAffected ORDER BY a.myUpdatedDate desc")
List<MyLog> findByMyItemAffected(@Param("itemAffected") Long itemAffected);

List<MyLog> findAllByMyUpdatedDateAfterOrderByMyUpdatedDateDesc(ZonedDateTime fromDate);

@Query("SELECT a FROM MyLog a WHERE a.myRecordAffected = :itemAffected ORDER BY a.myUpdatedDate desc")
List<MyLog> findByMyRecordAffected(@Param("itemAffected") Long itemAffected);
}

抛出的问题是:

org.springframework.data.mapping.PropertyReferenceException: No property getOne found for type MyLog!
at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:94)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:358)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:334)
at org.springframework.data.mapping.PropertyPath.lambda$from$0(PropertyPath.java:287)
at org.springframework.data.mapping.PropertyPath$$Lambda$1233/1495869254.apply(Unknown Source)
at java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:324)
at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:269)
at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:252)
at org.springframework.data.repository.query.parser.Part.<init>(Part.java:81)
at org.springframework.data.repository.query.parser.PartTree$OrPart.lambda$new$0(PartTree.java:250)
at org.springframework.data.repository.query.parser.PartTree$OrPart$$Lambda$1232/330761886.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at org.springframework.data.repository.query.parser.PartTree$OrPart.<init>(PartTree.java:251)
at org.springframework.data.repository.query.parser.PartTree$Predicate.lambda$new$0(PartTree.java:380)
at org.springframework.data.repository.query.parser.PartTree$Predicate$$Lambda$1230/1046669721.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at org.springframework.data.repository.query.parser.PartTree$Predicate.<init>(PartTree.java:381)
at org.springframework.data.repository.query.parser.PartTree.<init>(PartTree.java:93)
at org.springframework.data.elasticsearch.repository.query.ElasticsearchPartQuery.<init>(ElasticsearchPartQuery.java:46)
at org.springframework.data.elasticsearch.repository.support.ElasticsearchRepositoryFactory$ElasticsearchQueryLookupStrategy.resolveQuery(ElasticsearchRepositoryFactory.java:123)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.lookupQuery(RepositoryFactorySupport.java:553)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.lambda$mapMethodsToQuery$1(RepositoryFactorySupport.java:546)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor$$Lambda$1215/461755861.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Collections$UnmodifiableCollection$1.forEachRemaining(Collections.java:1049)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.mapMethodsToQuery(RepositoryFactorySupport.java:548)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.lambda$new$0(RepositoryFactorySupport.java:538)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor$$Lambda$1211/1422494159.apply(Unknown Source)
at java.util.Optional.map(Optional.java:215)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.<init>(RepositoryFactorySupport.java:538)
at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:317)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda$afterPropertiesSet$3(RepositoryFactoryBeanSupport.java:287)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport$$Lambda$1123/503845034.get(Unknown Source)
at org.springframework.data.util.Lazy.getNullable(Lazy.java:141)
at org.springframework.data.util.Lazy.get(Lazy.java:63)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:290)
at org.springframework.data.elasticsearch.repository.support.ElasticsearchRepositoryFactoryBean.afterPropertiesSet(ElasticsearchRepositoryFactoryBean.java:67)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1767)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1704)
... 76 common frames omitted

如何解决getOne属性不存在的问题?

最佳答案

您似乎在 MyLog.java 中使用了多个 Spring Data 模块:

@Entity // Spring JPA
@Table(name = "my_log")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Document(indexName = "mylog") // Spring Elasticsearch
public class MyLog implements Serializable {

根据spring documentation ,您必须告诉您的应用程序存储库在哪里:

@EnableJpaRepositories(basePackages = "com.acme.repositories.jpa")
@EnableElasticsearchRepositories(basePackages = "com.acme.repositories.elasticsearch")
interface Configuration { }

关于java - 解决org.springframework.data.mapping.PropertyReferenceException : No property getOne found for type MyLog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51821783/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com