0
我正在创建一个AuditableEntityManager,它将json消息放入路由到ELK集群的JMS队列中以用于审计目的。实现EntityManager编译错误
大部分的实现仅仅是通过,例如我有
EntityManager entityManager_ = null;
public AuditableEntityManagerImpl(String name,
PersistenceProperty [] properties,
SynchronizationType synchronization,
PersistenceContextType type,
String unitName)
{
//TODO - Figure out how to configure the rest of the properties
entityManager_ = Persistence.createEntityManagerFactory(name).createEntityManager();
}
而且大多数方法看起来像
@Override
public <T> T find(Class<T> entityClass, Object primaryKey)
{
return entityManager_.find(entityClass, primaryKey);
}
随着易变的方法除外,它具有待完成块,我将把审计分析器
@Override
public void remove(Object entity)
{
entityManager_.remove(entity);
//TODO - LOG to audit
}
我允许eclipse填充th缺少接口和IDE中的方法都是绿色的。当我尝试构建时(使用maven),我得到一堆错误,指出无法找到许多javax.performance的东西,并且许多方法在EntityManager中不存在。我已经刷新了我的.m2/repository以确保它在那里没有被破坏,但没有运气。
错误堆栈如下,道歉的长度。任何想法将不胜感激。
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[6,25] cannot find symbol
symbol: class EntityGraph
location: package javax.persistence
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[16,25] cannot find symbol
symbol: class StoredProcedureQuery
location: package javax.persistence
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[17,25] cannot find symbol
symbol: class SynchronizationType
location: package javax.persistence
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[20,34] cannot find symbol
symbol: class CriteriaDelete
location: package javax.persistence.criteria
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[22,34] cannot find symbol
symbol: class CriteriaUpdate
location: package javax.persistence.criteria
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[31,37] cannot find symbol
symbol: class SynchronizationType
location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[194,28] cannot find symbol
symbol: class CriteriaUpdate
location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[200,28] cannot find symbol
symbol: class CriteriaDelete
location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[242,10] cannot find symbol
symbol: class StoredProcedureQuery
location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[248,10] cannot find symbol
symbol: class StoredProcedureQuery
location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[254,10] cannot find symbol
symbol: class StoredProcedureQuery
location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[260,10] cannot find symbol
symbol: class StoredProcedureQuery
location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[326,14] cannot find symbol
symbol: class EntityGraph
location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[332,10] cannot find symbol
symbol: class EntityGraph
location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[338,10] cannot find symbol
symbol: class EntityGraph
location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[344,19] cannot find symbol
symbol: class EntityGraph
location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManager.java:[14,25] cannot find symbol
symbol: class SynchronizationType
location: package javax.persistence
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManager.java:[24,3] cannot find symbol
symbol: class SynchronizationType
location: @interface psu.edu.javaee.audit.producer.AuditableEntityManager
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManager.java:[24,49] cannot find symbol
symbol: variable SynchronizationType
location: @interface psu.edu.javaee.audit.producer.AuditableEntityManager
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[200,16] createQuery(CriteriaDelete) in psu.edu.javaee.audit.producer.AuditableEntityManagerImpl cannot implement <T>createQuery(javax.persistence.criteria.CriteriaQuery<T>) in javax.persistence.EntityManager
return type javax.persistence.Query is not compatible with javax.persistence.TypedQuery<T>
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[182,16] name clash: createQuery(java.lang.String) in psu.edu.javaee.audit.producer.AuditableEntityManagerImpl overrides a method whose erasure is the same as another method, yet neither overrides the other
first method: <T>createQuery(javax.persistence.criteria.CriteriaQuery<T>) in psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
second method: createQuery(CriteriaDelete) in psu.edu.javaee.audit.producer.AuditableEntityManagerImpl
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[241,3] method does not override or implement a method from a supertype
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[244,26] cannot find symbol
symbol: method createNamedStoredProcedureQuery(java.lang.String)
location: variable entityManager_ of type javax.persistence.EntityManager
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[247,3] method does not override or implement a method from a supertype
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[250,26] cannot find symbol
symbol: method createStoredProcedureQuery(java.lang.String)
location: variable entityManager_ of type javax.persistence.EntityManager
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[253,3] method does not override or implement a method from a supertype
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[256,26] cannot find symbol
symbol: method createStoredProcedureQuery(java.lang.String,java.lang.Class[])
location: variable entityManager_ of type javax.persistence.EntityManager
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[259,3] method does not override or implement a method from a supertype
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[262,26] cannot find symbol
symbol: method createStoredProcedureQuery(java.lang.String,java.lang.String[])
location: variable entityManager_ of type javax.persistence.EntityManager
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[271,3] method does not override or implement a method from a supertype
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[274,26] cannot find symbol
symbol: method isJoinedToTransaction()
location: variable entityManager_ of type javax.persistence.EntityManager
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[325,3] method does not override or implement a method from a supertype
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[328,26] cannot find symbol
symbol: method createEntityGraph(java.lang.Class<T>)
location: variable entityManager_ of type javax.persistence.EntityManager
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[331,3] method does not override or implement a method from a supertype
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[334,26] cannot find symbol
symbol: method createEntityGraph(java.lang.String)
location: variable entityManager_ of type javax.persistence.EntityManager
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[337,3] method does not override or implement a method from a supertype
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[340,26] cannot find symbol
symbol: method getEntityGraph(java.lang.String)
location: variable entityManager_ of type javax.persistence.EntityManager
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[343,3] method does not override or implement a method from a supertype
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[346,26] cannot find symbol
symbol: method getEntityGraphs(java.lang.Class<T>)
location: variable entityManager_ of type javax.persistence.EntityManager
Eclipse正在使用JPA 2.1批注,而您的maven版本很可能使用没有新类的JPA 1.0 jar – Chris
您是完全正确的Chris,谢谢。不幸的是,我的工具集也给我提供了不好的信息。 –