Hibernate version: 3.1.3
I used the Enhanced UserType described in:
http://www.hibernate.org/272.html. Mapping a Enum works fine.
Now I want to map a set of Enum's. But I don't know how to do it.
Mapping documents:
Mapping file to store a Enum property
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="nl.tesis">
<class name="License" table="license">
<id name="key" type="string" column="licensekey" />
<property name="description" type="string"/>
<property name="categoryHierarchy" type="string"/>
<property name="serviceAccessTest">
<type name="nl.tesis.dao.impl.EnumUserType">
<param name="enumClassName">nl.tesis.ServiceAccess</param>
</type>
</property>
</class>
</hibernate-mapping>
Class:Here is the class I'am using. I want to map the "private Set<ServiceAccess> serviceAccess" but I don't have a clue how.
Code:
public class License implements Serializable {
private static final long serialVersionUID = 1L;
private String key;
private String description;
private String categoryHierarchy;
private ServiceAccess serviceAccessTest;
private Set<ServiceAccess> serviceAccess;
/**
* @return
*/
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
/**
* @return the categoryHierarchy
*/
public String getCategoryHierarchy() {
return categoryHierarchy;
}
/**
* @param categoryHierarchy the categoryHierarchy to set
*/
public void setCategoryHierarchy(String categoryHierarchy) {
this.categoryHierarchy = categoryHierarchy;
}
/**
* @return Returns the key.
*/
public String getKey() {
return key;
}
/**
* @param key The key to set.
*/
public void setKey(String key) {
this.key = key;
}
/**
* @return the serviceAccess
*/
public Set<ServiceAccess> getServiceAccess() {
return serviceAccess;
}
/**
* @param serviceAccess the serviceAccess to set
*/
public void setServiceAccess(Set<ServiceAccess> serviceAccess) {
this.serviceAccess = serviceAccess;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof License == false) {
return false;
}
if (this == obj) {
return true;
}
License license = (License) obj;
return new EqualsBuilder()
.append(key,license.getKey())
.isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder(17,37)
.append(key)
.toHashCode();
}
@Override
public String toString() {
return "license(" + (key == null ? "null" : key) + ")";
}
/**
* @return the serviceAccessTest
*/
public ServiceAccess getServiceAccessTest() {
return serviceAccessTest;
}
/**
* @param serviceAccessTest the serviceAccessTest to set
*/
public void setServiceAccessTest(ServiceAccess serviceAccessTest) {
this.serviceAccessTest = serviceAccessTest;
}
}