У меня следующий класс сущностей:
CategoryBacktrack. java
public class CategoryBacktrack
{
private String category;
private HashSet<String> parentCategories;
public CategoryBacktrack() { }
public CategoryBacktrack (String category , HashSet<String> parentCategories)
{
this.category = category;
this.parentCategories = parentCategories;
}
public String getCategory()
{
return category;
}
public void setCategory(String category)
{
this.category = category;
}
public HashSet<String> getParentCategories()
{
return parentCategories;
}
public void setParentCategories(HashSet<String> parentCategories)
{
this.parentCategories = parentCategories;
}
}
Set<String> parentCategories
имеет отношение один ко многим. Я хочу сделать отображение Hibernate, используя строго аннотации HBM XML и , а не . Моя конфигурация приведена ниже и сопоставлена с фабрикой сеансов в конфигурации Hibernate:
categorybacktrack.hbm. xml
<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name = "db.hibernate.entities.CategoryBacktrack" table = "categories">
<meta attribute = "class-description">
This class contains the ids' of the parental categories.
</meta>
<id name = "category" type = "string" column = "category">
<generator class="native"/>
</id>
<set name="parentCategories" inverse="true" cascade="all">
<key column="parent_categories" not-null="true" />
<one-to-many class="java.lang.String"/>
</set>
</class>
</hibernate-mapping>
Intellij предупреждает меня с этим:
Тип значения атрибута «Один ко многим» не должен быть «Строка»
Я также получаю это исключение:
org.hibernate.boot. 1028 *
Как я могу сопоставить тип String по умолчанию с Hibernate?