我看书上写hibernate、Java、数据库三者的类型有String、Java.lang.String、VARCHAR.这三个是对应的。没有见过string,
以下是我的映射文件。数据库中都是VARCHAR型,
<hibernate-mapping>
<class name="com.esm.domain.Position" table="position" >
<id name="postId" type="String">
<column name="postID" length="22" />
<generator class="assigned" />
</id>
<property name="postName" type="String">
<column name="postName" length="50" />
</property>
<property name="postDept" type="String">
<column name="postDept" length="50" />
</property>
<property name="postDes" type="String">
<column name="postDes" length="500" />
</property>
</class>
</hibernate-mapping>以下为Position.java中定义的属性:
private String postId;
private String postName;
private String postDept;
private String postDes;但是这样写运行时出问题了。
Error Creating SessionFactory %%%%
org.hibernate.MappingException: Could not determine type for: String, for columns: [org.hibernate.mapping.Column(postName)]
然后我把String改为string就可以,这是怎么回事
以下是我的映射文件。数据库中都是VARCHAR型,
<hibernate-mapping>
<class name="com.esm.domain.Position" table="position" >
<id name="postId" type="String">
<column name="postID" length="22" />
<generator class="assigned" />
</id>
<property name="postName" type="String">
<column name="postName" length="50" />
</property>
<property name="postDept" type="String">
<column name="postDept" length="50" />
</property>
<property name="postDes" type="String">
<column name="postDes" length="500" />
</property>
</class>
</hibernate-mapping>以下为Position.java中定义的属性:
private String postId;
private String postName;
private String postDept;
private String postDes;但是这样写运行时出问题了。
Error Creating SessionFactory %%%%
org.hibernate.MappingException: Could not determine type for: String, for columns: [org.hibernate.mapping.Column(postName)]
然后我把String改为string就可以,这是怎么回事
标准SQL数据类型
(PS:对于不同的DB可能有所差异)
byte、java.lang.Byte byte TINYINT
short、java.lang.Short short SMALLINT
int、java.lang.Integer integer INGEGER
long、java.lang.Long long BIGINT
float、java.lang.Float float FLOAT
double、java.lang.Double double DOUBLE
boolean、java.lang.Boolean boolean BIT
java.lang.String string VARCHAR
java.util.Date、java.sql.Date date DATE
java.util.Date、java.sql.Time time TIME
java.util.Date、java.sql.Timestamptimestamp TIMESTAMP
java.util.Calendar calendar TIMESTAMP
java.util.Calendar calendar_date DATE
byte[] binary VARBINARY、BLOB
java.lang.String text CLOB
java.sql.Clob clob CLOB
java.sql.Blob blob BLOB
Java数据类型 Hibernate数据类型 标准SQL数据类型
(PS:对于不同的DB可能有所差异)
byte、java.lang.Byte byte TINYINT
short、java.lang.Short short SMALLINT
int、java.lang.Integer integer INGEGER
long、java.lang.Long long BIGINT
float、java.lang.Float float FLOAT
double、java.lang.Double double DOUBLE
boolean、java.lang.Boolean boolean BIT
java.lang.String string VARCHAR
java.util.Date、java.sql.Date date DATE
java.util.Date、java.sql.Time time TIME
java.util.Date、java.sql.Timestamptimestamp TIMESTAMP
java.util.Calendar calendar TIMESTAMP
java.util.Calendar calendar_date DATE
byte[] binary VARBINARY、BLOB
java.lang.String text CLOB
java.sql.Clob clob CLOB
java.sql.Blob blob BLOB
<column name="postDes" length="500" />
这样写就好了