java - JPA使用@AttributeOverride来继承映射

标签 java jpa eclipselink

我使用的是 eclipse link 2.5.2,并且我有以下继承结构:

@MappedSuperclass
public abstract class LocalizedEntity {

/**
 * {@link Map} containing the String localized values.
 */
@ElementCollection    
protected Map<LocalizedField, String> l10nValues = new HashMap<LocalizedField, String>();


...

在扩展类中,我试图更改 map “值”列的长度。

@AttributeOverride(name="l10nValues.value", column=@Column(length=2048))   
public class MyClass extends LocalizedEntity

但我收到以下错误:

Internal Exception: Exception [EclipseLink-7200] (Eclipse Persistence  Services - 2.5.2.v20131113-a7346c6):   org.eclipse.persistence.exceptions.ValidationException
Exception Description: The attribute [value] was not found on the embeddable    class [class com.thedigitalstack.model.l10n.LocalizedField]. It is  referenced in an attribute override for the embedded attribute [l10nValues] on class [class com.finantix.agent.core.SectionContent].
 javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.5.2.v20131113-a7346c6): org.eclipse.persistence.exceptions.EntityManagerSetupException
 Exception Description: Predeployment of PersistenceUnit [com.finantix.agent.core.model@HK] failed.
 Internal Exception: Exception [EclipseLink-7200] (Eclipse Persistence Services - 2.5.2.v20131113-a7346c6): org.eclipse.persistence.exceptions.ValidationException

似乎 eclipse 链接尝试仅通过 map 的“关键”部分进行导航。事实上,“l10nValues”的“key”是“LocalizedField”类型的对象。 值一侧是一个简单的字符串:如何浏览值以更改其长度?

谢谢

LocalizedField 类定义为@Embeddable。此类定义了我的 map 的关键部分,但我想访问值之一。

@Embeddable
public final class LocalizedField implements Serializable{

最佳答案

答案是使用 @AttributeOverride 和“value.l10nValues”。由于某种原因,它在该国有效。

关于java - JPA使用@AttributeOverride来继承映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29028681/

相关文章:

java - 线程池中的 Guice DAO Provider - 查询变为 'idle in transation'

web-applications - 在没有 DTO 的情况下直接在 Web 层中操作 JPA 实体

java - 什么是 com.sun.proxy.$Proxy

javascript - 使用 Maven 插件缩小 CSS 和 JS 文件不起作用

java - 尝试使用 AnchorPane 的扩展版本时出现实例化和加载异常

java - 这个 JPQL 查询有什么问题?

java - 如何为以下内容定义 EclipseLink 注释?

java - 如何使用 CriteriaQuery 查询具有枚举作为值的 JPA ElementCollection 映射中的键?

java - 仅为某些 URL 启用 Tomcat clientAuth

spring - 密封类作为一个实体