@Entity mapped class (no code relationhip with Store class, just a simple view of it (not all properties mapped)
Code:
@SuppressWarnings("serial")
@Entity
@org.hibernate.annotations.Entity(mutable=false)
@Table(name="Store")
public class PickerStore implements Serializable
{
    @Id @Column(name="I_STORE_ID") @GeneratedValue(generator="system-uid") @GenericGenerator(name="system-uid", strategy="uuid.hex")
    private String id;
    @Column(name="STORE_ID")
    private int userKey;
    @Column(name="SHORT_DESCRIPTION")
    private String shortDescription;
    @Column(name="LONG_DESCRIPTION")
    private String longDescription;
    public String getId() { return id; }
    public int getUserKey() { return userKey; }
    public String getShortDescription() { return shortDescription; }
    public String getLongDescription() { return longDescription; }
}
HBM mapped Store class.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping default-lazy="false"
>
    <class
        name="Store"
        table="STORE"
        dynamic-update="false"
        dynamic-insert="false"
        select-before-update="false"
        optimistic-lock="version"
    >
        <id
            name="id"
            column="I_Store_Id"
            type="java.lang.String"
            access="field"
        >
            <generator class="uuid.hex">
            </generator>
        </id>
        <version
            name="recordVersion"
            type="com.pinncorp.framework.hibernate.UUIDType"
            column="recordVersion"
            access="property"
            unsaved-value="undefined"
        />
        <property
            name="userKey"
            type="int"
            update="true"
            insert="true"
            access="field"
            column="Store_Id"
            not-null="true"
        />
        <property
            name="shortDescription"
            type="java.lang.String"
            update="true"
            insert="true"
            access="field"
            column="Short_Description"
        />
        <property
            name="longDescription"
            type="java.lang.String"
            update="true"
            insert="true"
            access="field"
            column="Long_Description"
        />
        <property
            name="comment"
            type="java.lang.String"
            update="true"
            insert="true"
            access="field"
            column="Memo"
        />
        <property
            name="status"
            type="java.lang.String"
            update="true"
            insert="true"
            access="field"
            column="Status"
            not-null="true"
        />
        <property
            name="depositDateRange"
            type="int"
            update="true"
            insert="true"
            access="field"
            column="Deposit_Date_Range"
        />
        <property
            name="squareFootage"
            type="int"
            update="true"
            insert="true"
            access="field"
            column="Square_Footage"
        />
        <property
            name="MWSVersion"
            type="java.lang.String"
            update="true"
            insert="true"
            access="field"
            column="MWS_Version"
        />
        <property
            name="firstDayWithPaperwork"
            type="java.util.Date"
            update="true"
            insert="true"
            access="field"
            column="First_Day_Paperwork"
        />
        <property
            name="markDayAsAudited"
            type="boolean"
            update="true"
            insert="true"
            access="field"
            column="Mark_Day"
        />
        <property
            name="auditUserId"
            type="java.lang.String"
            update="true"
            insert="true"
            access="field"
            column="AUDIT_USER_ID"
        />
        <set
            name="macroValues"
            lazy="true"
            inverse="true"
            cascade="all-delete-orphan"
            sort="unsorted"
         access="field" 
        >
              <key
                  column="Store_Target_Id"
              >
              </key>
              <one-to-many
                  class="com.pinncorp.sysmngr.store.macro.StoreTargetMacroValue"
              />
        </set>
    </class>
</hibernate-mapping>
@Entity mapped version of the Store class
Code:
@Entity
public class Store
{
    @Id @Column(name="I_STORE_ID") @GeneratedValue(generator="system-uid") @GenericGenerator(name="system-uid", strategy="uuid.hex")
    private String id;
    @Column(name="STORE_ID")
    private int userKey;
    @Column(name="SHORT_DESCRIPTION")
    private String shortDescription;
    @Column(name="LONG_DESCRIPTION")
    private String longDescription;
    @Column(name="MEMO")
    private String comment;
    @Column(name="DEPOSIT_DATE_RANGE")
    private int depositDateRange;
    @Column(name="SQUARE_FOOTAGE")
    private int squareFootage;
    @Column(name="MWS_VERSION")
    private String MWSVersion;
    @Temporal(TemporalType.DATE)
    @Column(name="FIRST_DAY_PAPERWORK")
    private Date firstDayWithPaperwork;
    @Column(name="MARK_DAY")
    private boolean markDayAsAudited = false;
    ....etc...
}