У меня есть два Hibernate сущности:Hibernate + Бульдозер - Используя карту-идентификатор на отображенной коллекцию предметы имущества
@Entity
@Table(name = DBConstants.TABLE_PARTNER)
public class Partner extends XWeedEntity {
private static final long serialVersionUID = 5692151244956513381L;
@Id
@Column(name = DBConstants.PARTNER_COL_PARTNER_NUMBER)
private Integer partnerNumber;
@OneToMany(mappedBy = DBConstants.VISIT_PROP_VISITOR)
private List<Visit> visits;
// More fields and properties...
}
@Entity
@Table(name = DBConstants.TABLE_VISIT)
public class Visit extends XWeedEntity {
private static final long serialVersionUID = -8324746049334117579L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = DBConstants.VISIT_COL_ID)
private Integer id;
@ManyToOne
@JoinColumn(name = DBConstants.VISIT_COL_VISITOR, nullable = false)
private Partner visitor;
// More fields and properties...
}
и два DTO объекты:
public class PartnerDto extends XWeedEntity {
private static final long serialVersionUID = 5692151244956513381L;
private Integer partnerNumber;
private List<VisitDto> visits;
// More fields and properties...
}
public class VisitDto extends XWeedEntity {
private static final long serialVersionUID = -8324746049334117579L;
private Integer id;
private PartnerDto visitor;
// More fields and properties...
}
И у меня есть следующие отображения дозеров :
<mapping map-id="partnerWithCollections" map-empty-string="false" map-null="false">
<class-a>org.xweed.model.app.domain.dbo.Partner</class-a>
<class-b>org.xweed.model.app.domain.dto.PartnerDto</class-b>
<field map-id="visitWithPartner">
<a>visits</a>
<b>visits</b>
</field>
</mapping>
<mapping map-id="partnerBasic" wildcard="false" map-empty-string="false" map-null="false">
<class-a>org.xweed.model.app.domain.dbo.Partner</class-a>
<class-b>org.xweed.model.app.domain.dto.PartnerDto</class-b>
<field>
<a>partnerNumber</a>
<b>partnerNumber</b>
</field>
</mapping>
<mapping map-id="visitWithPartner" map-empty-string="false" map-null="false">
<class-a>org.xweed.model.app.domain.dbo.Visit</class-a>
<class-b>org.xweed.model.app.domain.dto.VisitDto</class-b>
<field map-id="partnerBasic">
<a>visitor</a>
<b>visitor</b>
</field>
</mapping>
проблема заключается в том, что, когда я называю бульдозер с помощью «partnerWithCollections» отображения, бульдозер отображение всех посещения объективистского ts из посещений партнеров, но каждый визит имеет посетителя с его посещением посещений и т. д., когда атрибут посетителя каждого посещения должен содержать только имя партнера.
Если я пытаюсь исключить поле посетителя из посещения, то работает, и посещение каждого посетителя равно null, но по какой-то причине оно не работает с использованием map-id для использования определенного конкретного сопоставления партнеров.
Любые идеи?
Заранее спасибо.