【发布时间】:2011-10-11 20:08:11
【问题描述】:
我正在做一个项目,我需要存储一个不可修改的实体(来自库),所以我使用 XML 实体映射实体对象如下:
public abstract class BaseModel{
Long uid;
//getters/setters
}
public abstract class LocaleBaseModel{
String locale;
//Other properties, getter/setters
}
public class Article extends LocaleBaseModel{
private Long authorId;
privaet String text;
//Other properties
}
<mapped-superclass class="package.BaseModel">
<attributes>
<id name="uid">
<column name="UID" nullable="false" />
<generated-value strategy="AUTO" />
</id>
</attributes>
</mapped-superclass>
<mapped-superclass class="package.LocaleBaseModel">
<secondary-table name="STableName">
<primary-key-join-column name="MID" referenced-column-name="UID" />
</secondary-table>
<attributes>
<basic name="locale">
<column name="LOCALE" updatable="false" nullable="false" />
</basic>
<basic name="text">
<column name="Text" updatable="false" nullable="false" table="STableName" />
</basic>
</attributes>
</mapped-superclass>
<entity class="package.child.Article" name="Hadith">
<table name="TableName" />
<attributes>
</attributes>
</entity>
但是,一旦我添加 <secondarytable>,我就会收到一个错误,这本身就很容易解释:
- 14:58:47,379 错误 ErrorLogger:57 - 解析 XML 时出错 (2) : cvc-complex-type.3.1:元素的属性“版本”的值“2.0” “实体映射”相对于相应的无效 属性使用。属性“版本”的固定值为“1.0”。
- 14:58:47,379 错误 ErrorLogger:57 - 解析 XML 时出错 (2) : cvc-complex-type.2.4.a:发现无效内容以 元素“元素集合”。之一 '{"http://java.sun.com/xml/ns/persistence/orm":basic, “http://java.sun.com/xml/ns/persistence/orm”:版本, “http://java.sun.com/xml/ns/persistence/orm”:多对一, “http://java.sun.com/xml/ns/persistence/orm”:一对多, “http://java.sun.com/xml/ns/persistence/orm”:一对一, “http://java.sun.com/xml/ns/persistence/orm”:多对多, “http://java.sun.com/xml/ns/persistence/orm”:嵌入, "http://java.sun.com/xml/ns/persistence/orm":transient}' 是预期的。
- 14:58:47,379 错误 ErrorLogger:57 - 解析 XML 时出错 (2) : cvc-complex-type.2.4.a:发现无效内容以 元素“辅助表”。之一 '{"http://java.sun.com/xml/ns/persistence/orm":description, "http://java.sun.com/xml/ns/persistence/orm":id-class, "http://java.sun.com/xml/ns/persistence/orm":exclude-default-listeners, "http://java.sun.com/xml/ns/persistence/orm":exclude-superclass-listeners, “http://java.sun.com/xml/ns/persistence/orm”:实体监听器, "http://java.sun.com/xml/ns/persistence/orm":pre-persist, "http://java.sun.com/xml/ns/persistence/orm":post-persist, "http://java.sun.com/xml/ns/persistence/orm":pre-remove, “http://java.sun.com/xml/ns/persistence/orm”:删除后, “http://java.sun.com/xml/ns/persistence/orm”:更新前, “http://java.sun.com/xml/ns/persistence/orm”:更新后, “http://java.sun.com/xml/ns/persistence/orm”:加载后, "http://java.sun.com/xml/ns/persistence/orm":attributes}' 是预期的。
我和其他人从春季 3.0.5 开始在路上
- hibernate-entitymanager-3.6.2
- hibernate-jpa-2.0-api
- hibernate-core-3.6.2.Final
【问题讨论】:
标签: jpa