我有以下類:JPA XML映射找不到領域
package lt.vic.valdos.domain.valda;
public class Valda implements java.io.Serializable {
private long id;
private Long valdosKodas;
public long getId() {
return id;
}
public Long getValdosKodas() {
return valdosKodas;
}
}
及以下orm.xml中:
<?xml version="1.0"?>
<entity-mappings
xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_1.xsd"
version="2.1">
<entity class="lt.vic.valdos.domain.valda.Valda">
<table name="VALDOS" schema="VLD" />
<attributes>
<id name="id" />
<basic name="id">
<column name="vld_id" />
<return-insert return-only="true" />
</basic>
<basic name="valdosKodas">
<column name="valdos_kodas" />
</basic>
</attributes>
</entity>
</entity-mappings>
當我在GlassFish中部署此,我得到以下錯誤:
Exception [EclipseLink-7215] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Could not load the field named [id] on the class [class lt.vic.valdos.domain.valda.Valda]. Ensure there is a corresponding field with that name defined on the class.
該類位於作爲maven依賴項包含在Web應用程序中的jar中。 orm.xml位於Web應用程序的/ WEB-INF/classes/META-INF中。
我在做什麼錯?
我試過在裏面加入標籤。但是,我無法刪除,因爲我需要eclipselink的標記(具有主鍵觸發器的舊DB設計),它不能放在之內。我仍然收到和的結果。我知道註釋方法更容易,如果使用註釋,一切都可以正常工作。但是我不喜歡在我的域jar中對JPA的依賴。 –
2012-02-10 12:15:07
如果您僅刪除基本測試,異常是否會消失? – Chris 2012-02-10 14:27:42
即使我刪除了ID字段的,該例外仍然存在。 –
2012-02-10 21:31:34