Abstractbaseentity is listed in the persistence unit?
Well you can still enhance it at build time before tests
Le 31 mai 2013 23:54, "Reinis Vicups" <[email protected]> a écrit :
> Hi,
>
> I get NoSuchMethodError when testing with ApplicationComposer and manually
> supplied javaagent. When I start container (TomEE) everything works just
> fine.
>
> I enable javaagent for maven test plugin like this:
>
> <plugin>
> <groupId>org.apache.maven.**plugins</groupId>
> <artifactId>maven-failsafe-**plugin</artifactId>
> <version>2.14.1</version>
> <executions>
> <execution>
> <goals>
> <goal>integration-test</goal>
> <goal>verify</goal>
> </goals>
> </execution>
> </executions>
> <configuration>
> <groups>de.orbitx.retena.**IntegrationTest</groups>
> <includes>
> <include>**/*.class</include>
> </includes>
> <argLine>-javaagent:${project.**build.directory}/openejb-**
> javaagent-${openejb.version}.**jar</argLine>
> <workingDirectory>${project.**build.directory}</**workingDirectory>
> </configuration>
> </plugin>
>
> javaagent is added like this (I use maven-dependency-plugin to copy it to
> right place):
>
> <dependency>
> <groupId>org.apache.openejb</**groupId>
> <artifactId>openejb-javaagent<**/artifactId>
> <version>4.6.0-SNAPSHOT</**version>
> <scope>test</scope>
> </dependency>
>
> The full log I was able to get our of openejb is here :
> https://gist.github.com/**anonymous/5688204<https://gist.github.com/anonymous/5688204>
>
> My AbstractBaseClass looks like this:
>
> @MappedSuperclass
> public abstract class AbstractBaseEntity implements Serializable {
>
> @Id
> @GeneratedValue(strategy = GenerationType.IDENTITY)
> @Column(name = "id")
> private Integer id;
>
> // getter setter and so on....
> }
>
> and the Permission class from stack trace like this:
>
> @Entity
> public class Permission extends AbstractBaseEntity {
>
> private String permission;
>
> // more irrelevant code is here
> }
>
> I bootstrap from persistence.xml that has entity definition for Permission
> and NO entity definition for AbstractBaseEntity (as suggested somewhere on
> forums) like this:
>
> <entity class="my.access.Permission" />
>
> I have refactored everything couple of times (removed generics, tried to
> change AbstractBaseEntity to a concrete class, moved @Id from here to there
> and now appears that the only option that I have still think of is to
> remove BaseEntity.
>
> Before I do that, I would be happy if someone could help me to avoid that,
> because this is not solution but, rather, workaround that makes my code
> worse.
>
> thank you guys for your help!
> reinis
>