org.hibernate.PropertyNotFoundException:在类Address中找不到customerId的getter
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了org.hibernate.PropertyNotFoundException:在类Address中找不到customerId的getter相关的知识,希望对你有一定的参考价值。
我的地址类:
public class Address implements java.io.Serializable {
private String addressId;
private String customerId;
public Address() {
}
public Address(String addressId) {
this.addressId = addressId;
}
public Address(String addressId, String customerId) {
this.addressId = addressId;
this.customerId = customerId;
public String getAddressId() {
return this.addressId;
}
public void setAddressId(String addressId) {
this.addressId = addressId;
}
public String getCustomerId() {
return this.customerId;
}
public void setCustomerId(String customerId) {
this.customerId = customerId;
}
我的hbm.xml文件:
<class name="Address" table="Address">
<id name="addressId" column="address_id" type="java.lang.String">
<generator class="assigned" />
</id>
<property name="customerId" column="customer_id" type="java.lang.String" />
</class>
我收到了以下错误
org.hibernate.PropertyNotFoundException: Could not find a getter for customerId in class Address
at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:282)
at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:275)
at org.hibernate.mapping.Property.getGetter(Property.java:272)
at org.hibernate.tuple.entity.PojoEntityTuplizer.buildPropertyGetter(PojoEntityTuplizer.java:247)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:125)
at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:302)
at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
答案
Hibernate在大小写方面可能有点棘手。
尝试使用CustomerId作为属性名称,一切都应该没问题。如果你命名属性getcustomerId
,Hibernate需要一个customerID
方法
另一答案
如果您未在hibernate.hbm.xml文件中设置默认属性,但是您为数据库中的列指定了默认值,则可能会发生这种情况。
另一答案
如果在eclipse中有Web应用程序,请检查java构建路径中的相同输出文件夹和Deployment Assembly中的相同源文件夹。
另一答案
有时您必须将别名放入转义引号(如果您使用resulttransformer将通过属性方法或字段将别名值注入Class的实例):
session
.createNativeQuery("SELECT something AS /"someThing/"")
.setResultTransformer(Transformers.aliasToBean(MyDao.class))
.getResultList();
另一答案
就我而言。我发现在我的战争和罐子里有重复的课程。喜欢Jigar Joshi说。为什么会这样?我将一些实体移动到打包到jar文件中的其他项目。我通过war重新部署我的项目,Tomcat没有删除我删除的实体类,实体类仍然在旧的地方,那些与我的jar文件重复。
所以我删除了重复的类
以上是关于org.hibernate.PropertyNotFoundException:在类Address中找不到customerId的getter的主要内容,如果未能解决你的问题,请参考以下文章