Vasil -
It appears to work for me on trunk, can you give that a shot?
-Rick
Vasil wrote:
>
> Hi
>
> I have the following entity:
>
> @Entity
> @Table(name = "accounts_userfavorites")
> public class UserFavorite implements Serializable{
>
> private static final long serialVersionUID = 7233246222509313691L;
>
> @Id
> @GeneratedValue(strategy=GenerationType.IDENTITY)
> private long id;
>
> @Column(nullable = false)
> private String channelName;
>
> @Column(nullable = true)
> private String name;
>
> @Column(nullable = true)
> private Date startTime;
>
> @Column(nullable = false)
> private Date timeAdded = new Date();
>
> public enum Type {
> CHANNEL,
> PROGRAMME,
> SERIES;
> }
>
>
> @Enumerated(EnumType.ORDINAL)
> @Column(nullable = false)
> private Type type;
>
> @ManyToOne(optional=false)
> @JoinColumn(name="user_account_id",referencedColumnName="id", nullable
> = false)
> private UserAccount userAccount;
>
> public long getId() {
> return id;
> }
>
> public void setId(long id) {
> this.id = id;
> }
>
> public String getChannelName() {
> return channelName;
> }
>
> public void setChannelName(String channelName) {
> this.channelName = channelName;
> }
>
> public String getName() {
> return name;
> }
>
> public void setName(String name) {
> this.name = name;
> }
>
> public Date getStartTime() {
> return startTime;
> }
>
> public void setStartTime(Date startTime) {
> this.startTime = startTime;
> }
>
> public Date getTimeAdded() {
> return timeAdded;
> }
>
> public void setTimeAdded(Date timeAdded) {
> this.timeAdded = timeAdded;
> }
>
> public Type getType() {
> return type;
> }
>
> public void setType(Type type) {
> this.type = type;
> }
>
> public UserAccount getUserAccount() {
> return userAccount;
> }
>
> public void setUserAccount(UserAccount userAccount) {
> this.userAccount = userAccount;
> }
>
> }
>
> however when I try to enhance it I get the following error:
>
> java.lang.NoClassDefFoundError: Lmk/zulu/entities/UserFavorite$Type;
> at java.lang.Class.getDeclaredFields0(Native Method)
> at java.lang.Class.privateGetDeclaredFields(Class.java:2259)
> at java.lang.Class.getDeclaredFields(Class.java:1715)
> at
> org.apache.openjpa.lib.util.J2DoPrivHelper$7.run(J2DoPrivHelper.java:270)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org.apache.openjpa.persistence.PersistenceMetaDataDefaults.getAccessType(PersistenceMetaDataDefaults.java:262)
> at
> org.apache.openjpa.persistence.PersistenceMetaDataDefaults.getAccessType(PersistenceMetaDataDefaults.java:250)
> at
> org.apache.openjpa.meta.AbstractMetaDataDefaults.populate(AbstractMetaDataDefaults.java:155)
> at
> org.apache.openjpa.persistence.PersistenceMetaDataDefaults.populate(PersistenceMetaDataDefaults.java:227)
> at
> org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository.java:794)
> at
> org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository.java:780)
> at
> org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.getMetaData(AnnotationPersistenceMetaDataParser.java:657)
> at
> org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseClassAnnotations(AnnotationPersistenceMetaDataParser.java:480)
> at
> org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parse(AnnotationPersistenceMetaDataParser.java:352)
> at
> org.apache.openjpa.persistence.PersistenceMetaDataFactory.load(PersistenceMetaDataFactory.java:229)
> at
> org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:474)
> at
> org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:294)
> at
> org.apache.openjpa.meta.ValueMetaDataImpl.resolveDeclaredType(ValueMetaDataImpl.java:431)
> at
> org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:410)
> at
> org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1676)
> at
> org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1691)
> at
> org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1626)
> at
> org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:717)
> at
> org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:616)
> at
> org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:541)
> at
> org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:308)
> at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:249)
> at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4493)
> at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4440)
> at org.apache.openjpa.enhance.PCEnhancer$1.run(PCEnhancer.java:4410)
> at
> org.apache.openjpa.lib.conf.Configurations.launchRunnable(Configurations.java:708)
> at
> org.apache.openjpa.lib.conf.Configurations.runAgainstAllAnchors(Configurations.java:698)
> at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4405)
> at
> org.codehaus.mojo.openjpa.OpenJpaEnhancerMojo.enhance(OpenJpaEnhancerMojo.java:121)
> at
> org.codehaus.mojo.openjpa.OpenJpaEnhancerMojo.execute(OpenJpaEnhancerMojo.java:86)
> at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:553)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:523)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
> at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>
> Clearly the type field causes the problem here. Anyone have an idea why
> this happens and how to fix it?
> I'm using openjpa 1.2.1
>
>
--
View this message in context:
http://n2.nabble.com/Enhancing-entities-fails-when-there-is-an-enum-field-in-the-entity-tp3077176p3086930.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.