I am using Hibernate 3.6, JPA 2.0, and Spring 3.0.6. I have fields in my objects like the following:
class PersonContact {
Long eAddressCpId;
ElectronicAddress eAddress;
}
I use field access (in my orm files) and queries/inserts/etc work without an issue. The fields are both in the class as well as in the orm files. But on startup of the application, the JPA configuration load spits out warnings:
2011-02-22 15:38:10,785 [[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] WARN org.hibernate.cfg.annotations.reflection.JPAOverridenAnnotationReader - Property com.foo.model.contactpoint.ElectronicAddress.eAddress not found in class but described in (possible typo error) 2011-02-22 15:38:10,801 [[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] WARN org.hibernate.cfg.annotations.reflection.JPAOverridenAnnotationReader - Property com.foo.model.person.PersonContact.eAddressCpId not found in class but described in (possible typo error) 2011-02-22 15:38:10,801 [[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] WARN org.hibernate.cfg.annotations.reflection.JPAOverridenAnnotationReader - Property com.foo.model.person.PersonContact.eAddress not found in class but described in (possible typo error) 2011-02-22 15:38:10,817 [[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] WARN org.hibernate.cfg.annotations.reflection.JPAOverridenAnnotationReader - Property com.foo.model.person.PartyContact.eAddressCpId not found in class but described in (possible typo error) 2011-02-22 15:38:10,817 [[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] WARN org.hibernate.cfg.annotations.reflection.JPAOverridenAnnotationReader - Property com.foo.model.person.PartyContact.eAddress not found in class but described in (possible typo error)
If I change my field names to be electronicAddressCpId and electronicAddress, then I don't get these warnings.
Is there requirements around the field names?
Thanks..jay
---------Additional Details-------------------------------- Here is a snippet of my POJO.
/**
* This is a generated class. Do not modify.
*/
@XmlRootElement(namespace = "http://foo.com/model", name = "ElectronicAddress")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(namespace = "http://foo.com/model", name = "ElectronicAddress", propOrder = { "eAddress", "id" })
public class ElectronicAddress extends ContactPoint {
/**
* The serialize value.
*/
private static final long serialVersionUID = -1L;
/**
* The eAddress field.
*/
@XmlElement(name = "EAddress", namespace = "##default")
private String eAddress;
/**
* The id field.
*/
@XmlElement(name = "Id", namespace = "##default")
private Long id; //NOPMD
/**
* Gets the value of the eAddress property.
* This field is Required.
*
* @return eAddress object is {@link String }
*/
public String getEAddress() {
return eAddress;
}
/**
* Sets the value of the eAddress property.
* This field is Required
*
* @param eAddress object is {@link String }
*/
public void setEAddress(String eAddress) {
this.eAddress = eAddress;
}
/**
* Gets the value of the id property.
* This field is Optional.
*
* @return id object is {@link Long }
*/
public Long getId() {
return id;
}
/**
* Sets the value of the id property.
* This field is Optional
* genericInheritGetterSetter
* @param id object is {@link Long }
*/
public void setId(Long id) {
this.id = (Long) id;
}
}
Here is a snippet of the orm file.
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_2_0.xsd"
version="2.0">
<description>com.foo.model.ElectronicAddress Entity Mapping</description>
<package>com.foo.model</package>
<schema>COMMON</schema>
<access>FIELD</access>
<entity class="com.foo.model.ElectronicAddress"
access="FIELD" metadata-complete="true">
<table name="ELECTRONIC_ADDRESSES" />
<attributes>
<id name="id">
<column name="ELECTRONIC_ADDRESS_ID" />
<generated-value strategy="SEQUENCE" generator="ADDR_SEQ" />
<sequence-generator name="ADDR_SEQ"
sequence-name="COMMON.ADDR_SEQ" allocation-size="1" />
</id>
<basic name="eAddress">
<column name="ELECTRONIC_ADDRESS" />
</basic>
</attributes>
</entity>
</entity-mappings>