Я использую следующий код JPA с БД MySQL и OpenJPA 2.2.2:OpenJPA Enhance - поле идентификации, определенное в {0} Встраиваемый не поддерживается
@MappedSuperclass
public abstract class IdentifiableEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
// getters, setters, etc.
}
@Entity
public class User extends IdentifiableEntity {
private String name;
// getters, setters, etc.
}
я получаю это сообщение при выполнении User user = new User();
в JSE среде:
ОШИБКА [Основной] openjpa.Enhance - поле идентификации, определенного в IdentifiableEntity Встраиваемый не поддерживается.
Я попробовал работать с динамически загруженным энтузиастом OpenJPA на Oracle 1.6 JDK. Код, кажется, выполняется правильно, несмотря на сообщение.
Почему я получаю это сообщение? Является ли это доброкачественным?
Вот содержание persistence.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="persistenceUnit">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<properties>
<property name="openjpa.ConnectionURL"
value="jdbc:mysql://localhost:3306/playground?useUnicode=true&characterEncoding=UTF-8"/>
<property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>
<property name="openjpa.ConnectionUserName" value="guest"/>
<property name="openjpa.ConnectionPassword" value="guest"/>
<!-- Classes should be enhanced at build-time for production. -->
<property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>
<property name="openjpa.DynamicEnhancementAgent" value="true"/>
<!-- Enable logging -->
<property name="openjpa.Log" value="DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE" />
<property name="openjpa.ConnectionFactoryProperties" value="PrintParameters=true" />
</properties>
</persistence-unit>
</persistence>
У вас есть @Embeddable аннотации где-нибудь? Сообщение об ошибке кажется, что вы это делаете. – Templar
Нет примечания 'Embeddable'. Я предполагаю, что 'Embeddable' подразумевается, потому что я использую' MappedSuperclass'. –
Можете ли вы разместить содержимое вашего persistence.xml, и есть ли исключение, зарегистрированное в ERROR? – Rick