Tang Yong commented on Bug WELD-1397

Currently, I made a debug about the issue as following:

While discoverFromClass method is called for the following class which is in cargo-tracker demo,

net.java.cargotracker.domain.model.cargo.RouteSpecification.java

RouteSpecification.java
@Embeddable
public class RouteSpecification extends AbstractSpecification<Itinerary> implements Serializable {

    @ManyToOne
    @JoinColumn(name = "spec_origin_id", updatable = false)
    private Location origin;
...

genericInterfaces.length is not equal with interfaces.length. In detailed,

1) clazz.getGenericInterfaces() returns "interface java.io.Serializable" (1 element)
2) clazz.getInterfaces() returns "[interface java.io.Serializable, interface java.lang.Cloneable,
interface org.eclipse.persistence.internal.weaving.PersistenceWeaved,
interface org.eclipse.persistence.internal.descriptors.PersistenceObject,
interface org.eclipse.persistence.queries.FetchGroupTracker,
interface org.eclipse.persistence.internal.weaving.PersistenceWeavedFetchGroups,
interface org.eclipse.persistence.descriptors.changetracking.ChangeTracker,
interface org.eclipse.persistence.internal.weaving.PersistenceWeavedChangeTracking,
interface org.eclipse.persistence.internal.weaving.PersistenceWeavedRest]" (9 elements)

I do not confirm whether the issue is caused by @Embeddable which causes interfaces enhancements in runtime.

From the above result, I think that this issue is very important because this seemes to be relate with integration between cdi and jpa.

BTW: current glassfish uses Weld 2.0.0.Beta8, however, I believe that the issue will also happen on Weld core 2.0 master.

Thanks
--Tang

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira