private void buildMapKeyJoinColumns(List<Annotation> annotationList,Element element) {
MapKeyJoinColumn[] joinColumns = getMapKeyJoinColumns( element );
if ( joinColumns.length > 0 ) {
AnnotationDescriptor ad = new AnnotationDescriptor( MapKeyJoinColumns.class );
ad.setValue( "value",joinColumns );
annotationList.add( AnnotationFactory.create( ad ) );
}
}
public XAnnotation<?> createMapKeyJoinColumns(
Collection<MapKeyJoinColumn> source) {
return transform(
MapKeyJoinColumns.class,javax.persistence.MapKeyJoinColumn.class,source,new Transformer<MapKeyJoinColumn,XAnnotation<javax.persistence.MapKeyJoinColumn>>() {
public XAnnotation<javax.persistence.MapKeyJoinColumn> transform(
MapKeyJoinColumn input) {
return createMapKeyJoinColumn(input);
}
});
}
@OnetoMany(mappedBy="portfolio",cascade = {CascadeType.ALL},fetch = FetchType.EAGER,orphanRemoval=true)
@Fetch(FetchMode.SUBSELECT)
@MapKeyJoinColumns({
@MapKeyJoinColumn(name="symbol",referencedColumnName="symbol"),@MapKeyJoinColumn(name="isin",referencedColumnName="isin")
})
public Map<Stock,PortfolioShare> getListShares() {
return listShares;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。