Måste du ha det i entiteten kan du inte ha en service som gör det åt dig?
Tjena,
Jag har en "huvudklass" som har en one-to-many relation till en "underklass".
Till detta skulle jag i mappningen kunna göra en bag i huvudklassen som håller alla underklasser och sedan för att hämta ett värde skriva:
ImprovementStatus status = Improvement.Statuses[0];
Inga konstigheter där!
Nu är det så att en bag, eller samling, är helt ointressant att hämta upp, varför underklassen kan innehålla flera rader är bara för att få en historik.
Det enda (i nuläget kan väl tilläggas) som är intressant är att hämta ut den senaste radern ur underklassen dvs. select max(Underklass).
Så, är det möjligt att skapa en property alt. annan typ av mappning som hämtar senaste underklassen för att slippa en bag?
Så att jag kan skriva:
ImprovementStatus status = Improvement.Status;
Typ nått sånt här:
<class name="Improvement, DomainObjects" table="Improvements">
<id name="ID" column="ImprovementID" type="int" unsaved-value="0">
<generator class="identity" />
</id>
<property name="Status" formula="(select max(Status) )" />
</class>
<class name="ImprovementStatus, DomainObjects" table="ImprovementStatuses">
<id name="ID" column="StatusID" type="int" unsaved-value="0">
<generator class="identity" />
</id>
<many-to-one name="Improvement" class="Improvement, DomainObjects" column="ImprovementID" fetch="join" />
<property name="Status" column="Status" type="int"/>
</class>
Eller:
<class name="Improvement, DomainObjects" table="Improvements">
<id name="ID" column="ImprovementID" type="int" unsaved-value="0">
<generator class="identity" />
</id>
<many-to-one name="Status" class="ImprovementStatus, DomainObjects" formula="(select max(Status) )" />
</class>
<class name="ImprovementStatus, DomainObjects" table="ImprovementStatuses">
<id name="ID" column="StatusID" type="int" unsaved-value="0">
<generator class="identity" />
</id>
<many-to-one name="Improvement" class="Improvement, DomainObjects" column="ImprovementID" fetch="join" />
<property name="Status" column="Status" type="int"/>
</class>
Jga har testat olika varianter att köra en formula i many-to-one, jag får inget felmeddelande där men heller inte rätt värden.
Enligt dokumentationen är inte formula implementerat i many-to-one men den genererar inte fel så...?!