0

In hibernate4,Annotation @MapKey's targetElement property was replace by what?

@ElementCollection
@MapKey(targetElement = ProductAttribute.class)
@LazyCollection(LazyCollectionOption.TRUE)
@Cascade(value = { CascadeType.DELETE })
public Map<ProductAttribute, String> getProductAttributeMapStore() {
    return productAttributeMapStore;
}

Now,I upgrade my project's hibernate.jar from hibernate3 to hibernate4.1, intellJ alert targetElement can found.

4

1 に答える 1

0

文書化されているように、org.hibernate.annotations.Mapkey 注釈はjavax.persistence.MapKeyColumnを支持して廃止されました。

API ドキュメントによると、次の理由により、属性targetElementは非推奨です。

コレクションがジェネリックを使用しない場合にのみ有用

この特定のケースでは、ジェネリックを使用してマップ キーの型が既に指定されているため、targetElement の使用は反復的です。

Map<ProductAttribute, String>
于 2013-06-02T03:52:15.957 に答える