Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] metamodel generation problem with classes named same as standard annotations

This looks like a bug, please feel free to file a bug.

As you mention, your best workaround is to simply use a different name for your "Generated" class.

On 20/02/2012 11:07 AM, kyle_ja wrote:

I'm using  EclipseLink-2.3.0.v20110604-r9504,
and i have problem which is probably a bug i think.

building metamodel for 2 entities which separate-packaged like:

-----------------------------------
package entity;

import entity.newpackage.Generated;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;

@Entity
public class NewEntity implements Serializable {
     @Id
     private Long id;

     @OneToOne
     Generated generated;
}
-----------------------------------
package entity.newpackage;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Generated implements Serializable {
     @Id
     private Long id;
}
-----------------------------------


and generated metamodel had 2 import statements that classes named
"Generated".
it causes build error("javax.annotation.Generated is already defined in a
single-type import").

below:
-----------------------------------
package entity;

import entity.newpackage.Generated;
import javax.annotation.Generated;
import javax.persistence.metamodel.SingularAttribute;
import javax.persistence.metamodel.StaticMetamodel;

@Generated(value="EclipseLink-2.3.0.v20110604-r9504",
date="2012-02-21T00:50:54")
@StaticMetamodel(NewEntity.class)
public class NewEntity_ {

     public static volatile SingularAttribute<NewEntity, Long>  id;
     public static volatile SingularAttribute<NewEntity, Generated>
generated;

}
-----------------------------------

maybe stop using a class named "Generated" is a simple workaround.
but i think there's better solution, please make using FQCN in
metamodel-building
for avoid class-name conflict.


Back to the top