我正在学习hibernate,我的讲师告诉<id>
和<property>
标签中的type属性是可选的,但如果字段是integer类型,我们应该指定type属性。在创建映射时,我跳过了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>
即使我的id或属性字段是整数,如果我不使用type属性也有问题。
答案 0 :(得分:1)
是类型标签是可选的。
你可以用它来为你的java dataType提供合适的hibernate dataType,这样hibernate就会为你的数据库列使用正确的dataType。
Hibernate基本类型的名称(例如,整数,字符串,字符,日期,时间戳,浮点数,二进制,可序列化,对象,blob)。
具有默认基本类型的Java类的名称(例如,int,float,char,java.lang.String,java.util.Date,java.lang.Integer)。