Привет всем и спасибо за чтение,
У меня есть следующая проблема:
org.hibernate.boot.MappingException: Association [com .... core.complex. domain.Complex.outlayTypes] ссылается на неотображенную сущность [com .... core.complex.domain.Complex.outlayTypes
Я пытался исправить это со вчерашнего дня, и я не понимаю, что это такое проблема. Кроме того, я не уверен, почему на официальной странице спящего режима нет xml документации (https://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html#collections -set ).
Из-за того, как я проектирую систему, я хочу использовать xml конфигурации.
Итак, у меня есть 2 сущности:
Complex (1 --- N) OutlayType
public class Complex extends AggregateRoot {
private ComplexId id;
...
private Set<OutlayType> outlayTypes;
constructors
getters and setters
public Set<OutlayType> getOutlayTypes() { return outlayTypes; }
public void setOutlayTypes(Set<OutlayType> outlayTypes) { this.outlayTypes = outlayTypes; }
}
public class OutlayType {
OutlayTypeId id;
...
constructors
getters and setters
{
Так что, как и в однонаправленном отношении, я не хочу иметь поле Complex в типе OutlayType.
В БД у меня есть следующее:
CREATE TABLE `complex` (
`id` varchar(36) NOT NULL,
...
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `outlay_type` (
`id` varchar(36) NOT NULL,
...
`complex_id` varchar(36) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
И это мои hbm. xml конфигурации в файле Complex.hbm. xml. .
<hibernate-mapping>
<class name="com....core.complex.domain.Complex" table="complex">
<composite-id name="id" class="com....core.complex.domain.valueobject.ComplexId" access="field">
<key-property column="id" name="value" length="36" access="field" />
</composite-id>
<set name="outlayTypes" cascade="all">
<key>
<column name="complex_id" not-null="true" />
</key>
<one-to-many class="com....core.complex.domain.OutlayType" />
</set>
</class>
</hibernate-mapping>
Опять-таки, как это однонаправленное отношение, у меня нет каких-либо сопоставлений на OutlayType.hbm. xml.
Я просмотрел много уроков, например: https://www.tutorialspoint.com/hibernate/hibernate_set_mapping.htm
Но я не понимаю, почему это не работает и выдает:
org.hibernate.boot.MappingException: Association [com ... .core.complex.domain.Complex.outlayTypes] ссылается на неотображенную сущность [com .... core.complex.domain.Complex.outlayTypes
Есть идеи? Спасибо