我收到了错误No property u found for type com.models.entities.OrderEntity
,我一生都无法弄清楚如何调试它的来源。我猜有一些不正确的映射。
我试过启用log4j
它只给我关于org.hibernate
. 我尝试添加其他包,但没有被读取。我相信我log4j.properties
的位置正确。
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
更新:我刚刚从数据库中删除并重新生成了实体,但仍然收到相同的错误。