Oracle的表创建SQL语句如下:
CREATE TABLE plan_files(
id number PRIMARY KEY,
projectID varchar2(32)
);CREATE SEQUENCE seqID_plan_files
START WITH 1
INCREMENT BY 1; Hibernate中对Oracle的映射定义如下:
<hibernate-mapping>
<class name="com.table.PlanFiles" table="PLAN_FILES" schema="CJS">
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">seqID_plan_files</param>
</generator>
</id>
<property name="projectid" type="java.lang.String">
<column name="PROJECTID" length="32" />
</property>
</class>
</hibernate-mapping>当使用Hibernate向Oracle中插入数据时,提示如下:
Hibernate: select seqID_plan_files.nextval from dual
Hibernate: insert into CJS.PLAN_FILES (PROJECTID, ID) values (?, ?)
could not insert: [com.table.PlanSunProject]向各位高人请教,我错在哪个地方?谢谢
CREATE TABLE plan_files(
id number PRIMARY KEY,
projectID varchar2(32)
);CREATE SEQUENCE seqID_plan_files
START WITH 1
INCREMENT BY 1; Hibernate中对Oracle的映射定义如下:
<hibernate-mapping>
<class name="com.table.PlanFiles" table="PLAN_FILES" schema="CJS">
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">seqID_plan_files</param>
</generator>
</id>
<property name="projectid" type="java.lang.String">
<column name="PROJECTID" length="32" />
</property>
</class>
</hibernate-mapping>当使用Hibernate向Oracle中插入数据时,提示如下:
Hibernate: select seqID_plan_files.nextval from dual
Hibernate: insert into CJS.PLAN_FILES (PROJECTID, ID) values (?, ?)
could not insert: [com.table.PlanSunProject]向各位高人请教,我错在哪个地方?谢谢
Hibernate: select seqID_plan_files.nextval from dual
Hibernate: insert into CJS.PLAN_FILES (PROJECTID, ID) values (?, ?)
could not insert: [com.table.PlanFiles]
谢谢
JAVA代码如下:
session =mySessionFactory.getSession();
tx = session.beginTransaction();
PlanFiles pFileTable=new PlanFiles();//向plan_files表中写入的对象
String sID = UUID.randomUUID().toString();//用来生成数据库的主键id非常不错。
pFileTable.setProjectid(sID);//上传文件的文件号与工程中的号相对应
session.save(pFileTable);//将日照数据保存到plan_sun_project表中
session.flush();