【问题标题】:Working of type attribute in Hibernate MappingHibernate Mapping 中类型属性的工作
【发布时间】:2025-12-16 23:15:02
【问题描述】:

我正在学习休眠,我的导师告诉 <id><property> 标签中的类型属性是可选的,但如果该字段是整数类型,我们应该指定类型属性。在创建映射时,我跳过了 type 属性,即使我的 id 是整数,但我的程序运行成功。

<hibernate-mapping>
<class name="myPack.Trainer">
<id name="id">
    <generator class="native"/>
</id>
<property name="name"/>
<set name="batches" table="Batches" cascade="all">
    <key column="trainerId"/>
    <one-to-many class="myPack.Batch"/>
</set>
</class>
<class name="myPack.Batch">
<id name="id">
    <generator class="native"/>
</id>
<property name="slot"/>
<property name="topic"/>
</class>

</hibernate-mapping>

如果我不使用 type 属性,即使我的 id 或 property 字段是整数,会有什么问题吗?

【问题讨论】:

  • 请贴出代码。

标签: hibernate orm mapping


【解决方案1】:

是类型标签是可选的。

您可以使用它为您的 java dataType 提及适当的 hibernate dataType,以便 hibernate 为您的数据库列使用正确的 dataType。

Hibernate 基本类型的名称(例如,整数、字符串、字符、日期、时间戳、浮点数、二进制、可序列化、对象、blob)。

具有默认基本类型(例如 int、float、char、java.lang.String、java.util.Date、java.lang.Integer)的 Java 类的名称。

【讨论】: