このコンテンツは選択した言語では利用できません。

20.2.2. Customizing the Schema


Many Hibernate mapping elements define optional attributes named length, precision and scale. You can set the length, precision and scale of a column with this attribute.
<property name="zip" length="5"/>
Copy to Clipboard Toggle word wrap
<property name="balance" precision="12" scale="2"/>
Copy to Clipboard Toggle word wrap
Some tags also accept a not-null attribute for generating a NOT NULL constraint on table columns, and a unique attribute for generating UNIQUE constraint on table columns.
<many-to-one name="bar" column="barId" not-null="true"/>
Copy to Clipboard Toggle word wrap
<element column="serialNumber" type="long" not-null="true" unique="true"/>
Copy to Clipboard Toggle word wrap
A unique-key attribute can be used to group columns in a single, unique key constraint. Currently, the specified value of the unique-key attribute is not used to name the constraint in the generated DDL. It is only used to group the columns in the mapping file.
<many-to-one name="org" column="orgId" unique-key="OrgEmployeeId"/>
<property name="employeeId" unique-key="OrgEmployee"/>
Copy to Clipboard Toggle word wrap
An index attribute specifies the name of an index that will be created using the mapped column or columns. Multiple columns can be grouped into the same index by simply specifying the same index name.
<property name="lastName" index="CustName"/>
<property name="firstName" index="CustName"/>
Copy to Clipboard Toggle word wrap
A foreign-key attribute can be used to override the name of any generated foreign key constraint.
<many-to-one name="bar" column="barId" foreign-key="FKFooBar"/>
Copy to Clipboard Toggle word wrap
Many mapping elements also accept a child <column> element. This is particularly useful for mapping multi-column types:
<property name="name" type="my.customtypes.Name"/>
    <column name="last" not-null="true" index="bar_idx" length="30"/>
    <column name="first" not-null="true" index="bar_idx" length="20"/>
    <column name="initial"/>
</property>
Copy to Clipboard Toggle word wrap
The default attribute allows you to specify a default value for a column.You should assign the same value to the mapped property before saving a new instance of the mapped class.
<property name="credits" type="integer" insert="false">
    <column name="credits" default="10"/>
</property>
Copy to Clipboard Toggle word wrap
<version name="version" type="integer" insert="false">
    <column name="version" default="0"/>
</property>
Copy to Clipboard Toggle word wrap
The sql-type attribute allows the user to override the default mapping of a Hibernate type to SQL datatype.
<property name="balance" type="float">
    <column name="balance" sql-type="decimal(13,3)"/>
</property>
Copy to Clipboard Toggle word wrap
The check attribute allows you to specify a check constraint.
<property name="foo" type="integer">
    <column name="foo" check="foo > 10"/>
</property>
Copy to Clipboard Toggle word wrap
<class name="Foo" table="foos" check="bar < 100.0">
    ...
    <property name="bar" type="float"/>
</class>
Copy to Clipboard Toggle word wrap
The following table summarizes these optional attributes.
Expand
Table 20.1. Summary
Attribute Values Interpretation
length number column length
precision number column decimal precision
scale number column decimal scale
not-null true|false specifies that the column should be non-nullable
unique true|false specifies that the column should have a unique constraint
index index_name specifies the name of a (multi-column) index
unique-key unique_key_name specifies the name of a multi-column unique constraint
foreign-key foreign_key_name specifies the name of the foreign key constraint generated for an association, for a <one-to-one>, <many-to-one>, <key>, or <many-to-many> mapping element. Note that inverse="true" sides will not be considered by SchemaExport.
sql-type SQL column type overrides the default column type (attribute of <column> element only)
default SQL expression specify a default value for the column
check SQL expression create an SQL check constraint on either column or table
The <comment> element allows you to specify comments for the generated schema.
<class name="Customer" table="CurCust">
    <comment>Current customers only</comment>
    ...
</class>
Copy to Clipboard Toggle word wrap
<property name="balance">
    <column name="bal">
        <comment>Balance in USD</comment>
    </column>
</property>
Copy to Clipboard Toggle word wrap
This results in a comment on table or comment on column statement in the generated DDL where supported.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat