Hi, Kevin: We're using maven and it is picking up the Phone_ class and generating the warning
here's the link for the uuid class that we're using https://github.com/stephenc/eaio-uuid/blob/master/src/main/java/com/eaio/uuid/UUID.java And the persistence xml... <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0"> <persistence-unit name="openjpa"> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> <!-- base package --> <class>com.spidertracks.aviator.model.Persistable</class> <class>com.spidertracks.aviator.model.UuidEntity</class> <!-- cluster --> <class>com.spidertracks.aviator.model.cluster.ClusterRegion</class> <class>com.spidertracks.aviator.model.cluster.SpiderRegion</class> <!-- security --> <class>com.spidertracks.aviator.model.security.AviatorRememberMeToken</class> <!-- sms --> <class>com.spidertracks.aviator.model.sms.PhoneValidationMessage</class> <class>com.spidertracks.aviator.model.sms.ReceivedSmsMessage</class> <class>com.spidertracks.aviator.model.sms.SentSmsMessage</class> <class>com.spidertracks.aviator.model.sms.SmsMessage</class> <class>com.spidertracks.aviator.model.sms.SosClosedMessage</class> <class>com.spidertracks.aviator.model.sms.SosInvalidResponseMessage</class> <class>com.spidertracks.aviator.model.sms.SosMessage</class> <class>com.spidertracks.aviator.model.sms.SosTierOneMessage</class> <class>com.spidertracks.aviator.model.sms.SosTierOneReopenedUserMessage</class> <class>com.spidertracks.aviator.model.sms.SosTierTwoMessage</class> <class>com.spidertracks.aviator.model.sms.SosTierTwoReopenedUserMessage</class> <class>com.spidertracks.aviator.model.sms.SosTierTwoUserMessage</class> <!-- Sos --> <class>com.spidertracks.aviator.model.sos.ContactedPerson</class> <class>com.spidertracks.aviator.model.sos.OpenHistory</class> <class>com.spidertracks.aviator.model.sos.SoS</class> <!-- spider --> <class>com.spidertracks.aviator.model.spider.Spider</class> <!-- message --> <class>com.spidertracks.aviator.model.spider.message.AlertAcknowlege</class> <class>com.spidertracks.aviator.model.spider.message.ConfigMessageUpdate</class> <class>com.spidertracks.aviator.model.spider.message.DistanceSettings</class> <class>com.spidertracks.aviator.model.spider.message.MobileTerminatedConfirmation</class> <class>com.spidertracks.aviator.model.spider.message.SpiderUpdate</class> <class>com.spidertracks.aviator.model.spider.message.SpiderwatchSettings</class> <class>com.spidertracks.aviator.model.spider.message.TimeDistanceSettings</class> <class>com.spidertracks.aviator.model.spider.message.TimeSettings</class> <class>com.spidertracks.aviator.model.spider.message.WatchOff</class> <class>com.spidertracks.aviator.model.spider.message.WatchOn</class> <!-- user --> <class>com.spidertracks.aviator.model.user.ContactLink</class> <class>com.spidertracks.aviator.model.user.Address</class> <class>com.spidertracks.aviator.model.user.Customer</class> <class>com.spidertracks.aviator.model.user.EmailConfirmationToken</class> <class>com.spidertracks.aviator.model.user.HashedUserToken</class> <class>com.spidertracks.aviator.model.user.InvitedPerson</class> <class>com.spidertracks.aviator.model.user.PasswordResetToken</class> <class>com.spidertracks.aviator.model.user.Person</class> <class>com.spidertracks.aviator.model.user.User</class> <class>com.spidertracks.aviator.model.user.Vehicle</class> <class>com.spidertracks.aviator.model.user.Phone</class> <properties> <property name="me.prettyprint.hom.classpathPrefix" value="com.datastax.hectorjpa.bean" /> <property name="me.prettyprint.hom.keyspace" value="TestKeyspace" /> <property name="me.prettyprint.hom.clusterName" value="TestPool" /> <property name="me.prettyprint.hom.hostList" value="localhost:9161" /> <property name="openjpa.BrokerFactory" value="abstractstore" /> <property name="openjpa.abstractstore.AbstractStoreManager" value="com.datastax.hectorjpa.store.CassandraStoreManager" /> <property name="openjpa.MetaDataRepository" value="com.datastax.hectorjpa.store.CassandraMetaDataRepository" /> <property name="openjpa.Optimistic" value="false" /> <property name="openjpa.LockManager" value="none" /> <property name="openjpa.ConnectionURL" value="localhost:9161" /> <!-- explicitly disable runtime enhancement support. It breaks a lot of proxy functionality needed for indexing --> <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported" /> <property name="openjpa.DetachState" value="all(DetachedStateField=true)"/> <!-- Used to test the serialization property. If not set will default to java default serialization --> <property name="com.datastax.jpa.embeddedserializer" value="com.datastax.hectorjpa.serialize.XStreamSerializer" /> <property name="openjpa.EntityManagerFactory" value="me.prettyprint.hom.EntityManagerFactoryImpl" /> </properties> </persistence-unit> </persistence> On Fri, Jul 8, 2011 at 3:36 AM, Kevin Sutter <kwsut...@gmail.com> wrote: > Why are we attempting to enhance a generated metamodel class? > > "class com.spidertracks.aviator.model.user.Phone_" > > Classes that end in an underscore were probably generated for the metamodel > and/or criteria API usage. So, something seems out of whack with > attempting > to enhance these classes. > > Kevin > > On Thu, Jul 7, 2011 at 7:53 AM, Rick Curtis <curti...@gmail.com> wrote: > > > Can you post your UUID class and the contents of your persistence.xml? > > > > Thanks, > > Rick > > > > On Wed, Jul 6, 2011 at 11:09 PM, Matthew Goodson < > > matt...@spidertracks.co.nz > > > wrote: > > > > > Just adding the class for reference > > > > > > @Embeddable > > > //public class Phone extends EmbeddedUUID implements WebOptionString, > > > Serializable { > > > public class Phone implements WebOptionString, Serializable { > > > > > > private static final long serialVersionUID = 1L; > > > > > > @Persistent > > > private UUID id; > > > @Persistent > > > @NotEmpty(message = "{phone.number.required}") > > > @NumericString(message = "{phone.number.digitsonly}") > > > private String number; > > > > > > @Persistent > > > private String countryIdd; > > > > > > @Persistent > > > @NotNull(message = "{phone.country.required}") > > > private String iddCountryCode; > > > > > > @Persistent > > > @NotNull(message = "{phone.type.required}") > > > private PhoneType type; > > > > > > public Phone() { > > > id = new UUID(); > > > } > > > > > > public Phone(String number, Country country, PhoneType type) { > > > this(); > > > this.number = number; > > > this.type = type; > > > setIddCountry(country); > > > } > > > > > > public void setNumber(String number) { > > > this.number = number; > > > } > > > > > > public String getNumber() { > > > return number; > > > } > > > > > > public void setType(PhoneType type) { > > > this.type = type; > > > } > > > > > > public PhoneType getType() { > > > return type; > > > } > > > > > > @Override > > > public String getDisplayString() { > > > return number; > > > } > > > > > > public void setIddCountry(Country country) { > > > if (country != null) { > > > this.iddCountryCode = country.getCode(); > > > this.countryIdd = country.getIdd(); > > > } > > > } > > > > > > public Country getIddCountry() { > > > if (iddCountryCode != null) { > > > return CountryFactory.INSTANCE.getByCode(this.iddCountryCode); > > > } > > > return null; > > > } > > > > > > public String getIddCountryCode() { > > > return iddCountryCode; > > > } > > > > > > public String getFullNumber() { > > > return (countryIdd == null ? "" : countryIdd) + (number == null ? "" : > > > number); > > > } > > > public void clone(Phone other) { > > > Assert.notNull(other); > > > setIddCountry(other.getIddCountry()); > > > setNumber(other.getNumber()); > > > setType(other.getType()); > > > } > > > > > > public UUID getId() { > > > return id; > > > } > > > public void setId(UUID id) { > > > Assert.notNull(id); > > > this.id = id; > > > } > > > } > > > > > > > > > On Thu, Jul 7, 2011 at 3:36 PM, Matthew Goodson > > > <matt...@spidertracks.co.nz>wrote: > > > > > > > Hi guys. I have a problem with jpa enhancement. > > > > I am using version 2.1.0 and I am trying to get it to enhanced an > > object > > > > 'Phone' with a field 'id' which is of type com.eaio.UUID. However > when > > I > > > run > > > > the enhancement I get the 2 warnings below. > > > > Any ideas? > > > > > > > > 411 openjpa WARN [main] openjpa.MetaData - Field " > > > > com.spidertracks.aviator.model.user.Phone.id" is not a type that is > > > > persistent by default. If you want this field to be persistent, you > > have > > > to > > > > explicitly set it to persistent in your metadata. > > > > > > > > 681 openjpa WARN [main] openjpa.Enhance - Type "class > > > > com.spidertracks.aviator.model.user.Phone_" loaded by > > > > java.net.URLClassLoader@69dfe453 has no metadata; enhancing as > > > persistence > > > > aware. If you intended for "class > > > > com.spidertracks.aviator.model.user.Phone_" to be > persistence-capable, > > > then > > > > this means that OpenJPA could not find any metadata for "class > > > > com.spidertracks.aviator.model.user.Phone_". This can happen if the > > > > directory containing your metadata is not in your CLASSPATH, or if > your > > > > metadata files are not named properly. See the documentation on > > metadata > > > > placement for more information. > > > > > > > > > > > > > > > -- > > *Rick Curtis* > > > -- Matthew Software Engineer Matthew Goodson | spidertracks po box 5203 | 117a the square | Palmerston North 4441 | new zealand P: +64 6 353 3395 | M: +64 27 6969639 E: *matt...@spidertracks.co.nz* <matt...@spidertracks.co.nz> * www.spidertracks.com* spiderwatch - because in the rescue game, time = life.