In my opinion, RectangleF data (points) wouldn't be shared across Categories so save yourself the join and place the RectangleF data directly in the Caregory Table.
Code:
T_CATEGORY
CategoryID (PK)
IsVisible
CategoryName
X1Y1
X2Y2
Then in your mapping file, use a Component as KPixels suggests:
Code:
<class "CategoryObject">
<id name="id" column="CategoryID" unsaved-value="-1">
<generator class="identity" />
</id>
<property name="isVisible" column="IsVisible" />
<property name="name" column="CategoryName" />
<component name="RectangleF" class="RectangleF">
<property name="x1y1" column="X1Y1" />
<property name="x2y2" column="X2Y2" />
</component>
</class>