gpt4 book ai didi

java - 未找到 com.models.entities.OrderEntity 类型的属性

转载 作者:行者123 更新时间:2023-12-01 23:54:18 25 4
gpt4 key购买 nike

我收到错误No property u found for type com.models.entities.OrderEntity并且我一生都无法弄清楚如何调试它的来源。我猜有一些映射不正确。

我尝试启用 log4j,它只提供有关 org.hibernate 的详细信息。我尝试添加其他包,但它们没有被读取。我相信我的 log4j.properties 位于正确的位置。

enter image description here

log4j.properties内容:

log4j.rootCategory=DEBUG, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c:%L - %m%n

log4j.category.org.springframework.data=DEBUG,stdout
log4j.category.com.models.entities =DEBUG,stdout

如何确保 log4j 记录正确的包?

我的实体:

@Entity
@Table(name = "`Order`")
@NamedQueries({
@NamedQuery(name="Order.findByUUID", query="SELECT o FROM OrderEntity o WHERE o.uuid = :uuid"),
@NamedQuery(name="Order.findByInProduction", query="SELECT o FROM OrderEntity o WHERE o.inProduction = :inProduction")
})
public class OrderEntity {
private Integer id;

@javax.persistence.Column(name = "id", nullable = false, insertable = true, updatable = true, length = 10, precision = 0)
@GeneratedValue
@Id
public Integer getId() {
return id;
}

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

private String uuid;

@javax.persistence.Column(name = "uuid", nullable = false, insertable = true, updatable = true, length = 128, precision = 0)
@Basic
public String getUuid() {
return uuid;
}

public void setUuid(String uuid) {
this.uuid = uuid;
}

private Boolean inProduction;

@javax.persistence.Column(name = "in_production", nullable = false, insertable = true, updatable = true, length = 0, precision = 0)
@Basic
public Boolean getInProduction() {
return inProduction;
}

public void setInProduction(Boolean inProduction) {
this.inProduction = inProduction;
}

private Timestamp updated;

@javax.persistence.Column(name = "updated", nullable = true, insertable = true, updatable = true, length = 19, precision = 0)
@Basic
public Timestamp getUpdated() {
return updated;
}

public void setUpdated(Timestamp updated) {
this.updated = updated;
}

private Timestamp created;

@javax.persistence.Column(name = "created", nullable = false, insertable = true, updatable = true, length = 19, precision = 0)
@Basic
public Timestamp getCreated() {
return created;
}

public void setCreated(Timestamp created) {
this.created = created;
}

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

OrderEntity that = (OrderEntity) o;

if (created != null ? !created.equals(that.created) : that.created != null) return false;
if (id != null ? !id.equals(that.id) : that.id != null) return false;
if (inProduction != null ? !inProduction.equals(that.inProduction) : that.inProduction != null) return false;
if (updated != null ? !updated.equals(that.updated) : that.updated != null) return false;
if (uuid != null ? !uuid.equals(that.uuid) : that.uuid != null) return false;

return true;
}

@Override
public int hashCode() {
int result = id != null ? id.hashCode() : 0;
result = 31 * result + (uuid != null ? uuid.hashCode() : 0);
result = 31 * result + (inProduction != null ? inProduction.hashCode() : 0);
result = 31 * result + (updated != null ? updated.hashCode() : 0);
result = 31 * result + (created != null ? created.hashCode() : 0);
return result;
}

private VendorEntity vendor;

@ManyToOne
@javax.persistence.JoinColumn(name = "vendor_id", referencedColumnName = "id", nullable = false)
public VendorEntity getVendor() {
return vendor;
}

public void setVendor(VendorEntity vendor) {
this.vendor = vendor;
}

private ShippingDestinationEntity shippingDestination;

@ManyToOne
@javax.persistence.JoinColumn(name = "shipping_destination_id", referencedColumnName = "id", nullable = false)
public ShippingDestinationEntity getShippingDestination() {
return shippingDestination;
}

public void setShippingDestination(ShippingDestinationEntity shippingDestination) {
this.shippingDestination = shippingDestination;
}

private Collection<OrderCustomFieldEntity> orderCustomFields;

@OneToMany(mappedBy = "order")
public Collection<OrderCustomFieldEntity> getOrderCustomFields() {
return orderCustomFields;
}

public void setOrderCustomFields(Collection<OrderCustomFieldEntity> orderCustomFields) {
this.orderCustomFields = orderCustomFields;
}

private Collection<ProductEntity> products;

@OneToMany(mappedBy = "order")
public Collection<ProductEntity> getProducts() {
return products;
}

public void setProducts(Collection<ProductEntity> products) {
this.products = products;
}
}

堆栈跟踪:

Caused by: org.springframework.data.mapping.PropertyReferenceException: No property u found for type com.models.entities.OrderEntity
at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:75)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:327)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:353)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:307)
at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:271)
at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:245)
at org.springframework.data.repository.query.parser.Part.<init>(Part.java:72)
at org.springframework.data.repository.query.parser.PartTree$OrPart.<init>(PartTree.java:180)
at org.springframework.data.repository.query.parser.PartTree$Predicate.buildTree(PartTree.java:260)
at org.springframework.data.repository.query.parser.PartTree$Predicate.<init>(PartTree.java:240)
at org.springframework.data.repository.query.parser.PartTree.<init>(PartTree.java:71)
at org.springframework.data.jpa.repository.query.PartTreeJpaQuery.<init>(PartTreeJpaQuery.java:57)
at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$CreateQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:90)
at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$CreateIfNotFoundQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:162)
at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:68)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.<init>(RepositoryFactorySupport.java:279)
at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:147)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.getObject(RepositoryFactoryBeanSupport.java:153)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.getObject(RepositoryFactoryBeanSupport.java:43)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142)
... 26 more

更新:我刚刚从数据库中删除并重新生成了实体,但仍然收到相同的错误。

最佳答案

事实证明,该问题是由与我的存储库层冲突引起的。尽管我有一个 Order.findByUUID 命名查询,我的 OrderRepository 看起来像:

@Repository
public interface OrderRepository extends JpaRepository<OrderEntity, Integer> {
OrderEntity findByUUID(@Param("uuid") String uuid);

List<OrderEntity> findByInProduction(@Param("inProduction") Boolean inProduction);
}

删除命名查询并将上述方法更改为 findByUuid 是解决方案。我仍然不确定它为什么失败,但这让我摆脱了问题并开始调试应用程序。

关于java - 未找到 com.models.entities.OrderEntity 类型的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15845030/

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