I try to migrate xdoclet annotations to Java5 annotations.
Does someone know how to map a java.util.Map in Hibernate/Java 5 annotations ?
Xdoclet :
Code:
/**
* @hibernate.map table="i18n_category"
* @hibernate.collection-key column="category_id"
* @hibernate.collection-index column="language" type="java.lang.String" length="2"
* @hibernate.collection-composite-element class="net.itcmedia.decomatic.bo.I18NCategory"
*/
public Map getI18nMap() {
return i18nMap;
}
Java5 :
Code:
@MapKey(name="category_id")
@JoinTable(
table=@Table(name="i18n_category"),
joinColumns=@JoinColumn(name="category_id")
)
@IndexColumn(name="language")
@Type(type="net.itcmedia.decomatic.bo.I18NCategory")
@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public Map<String,I18NCategory> getI18nMap() {
return i18nMap;
}
Full stack trace of exception that occurs:Code:
Hibernate: select this_.id as id0_, this_.d_cre as d2_0_0_, this_.d_del as d3_0_0_, this_.d_upd as d4_0_0_, this_.i18nMap as i5_0_0_ from category this_ where this_.d_del is null
Oct 4, 2005 4:19:22 PM org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 1054, SQLState: S0022
Oct 4, 2005 4:19:22 PM org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: Column not found, message from server: "Unknown column 'this_.i18nMap' in 'field list'"
Oct 4, 2005 4:19:22 PM org.springframework.web.servlet.FrameworkServlet processRequest
SEVERE: Could not complete request
net.itcmedia.decomatic.service.ServiceException: net.itcmedia.decomatic.dao.DAOException: org.hibernate.exception.SQLGrammarException: could not execute query
Hibernate version: 3.0.5
Hibernate annotations version: 3.1beta4
Thanks
Gilles