可嵌入对象的JPA命名查询

时间:2018-11-10 15:39:05

标签: hibernate spring-data-jpa

我正在这个项目上使用Spring Data Jpa。我有一个实体和一个可嵌入的对象。

@Embeddable
public class LocalizedName {
    private String localeTag;
    private String value;
    ..getter/setter
}

@Entity
@NamedEntityGraph(
        name = "graph.Country.name",
        attributeNodes = @NamedAttributeNode(value = "name", subgraph = "name-subgraph"),
        subgraphs = {
            @NamedSubgraph(name = "name-subgraph", attributeNodes = @NamedAttributeNode("value"))
        }
)
public class Country {

    @Id
    private String code;
    @Embedded
    private LocalizedName name;
    ..getter/setter
}

当我运行应用程序时,它会抛出一个异常

Caused by: java.lang.IllegalArgumentException: Attribute [name] is not of managed type

我认为Hibernate @Embeddable对象是托管类型。我该如何解决这个问题?

0 个答案:

没有答案