【求助】[hibernate]用SchemaExport生成表结构出错,help!

snowolf128 2006-06-21 05:09:46
想用org.hibernate.tool.hbm2ddl.SchemaExport生成表结构,出现错误。

[B]软件环境: [/B]
连接的是sybase12.5,sybase正常,已经有相应的库,只是没有表。
hibernate 3.1

[B]配置文件:[/B]
命令行:java -cp "所有hibernate库及jdbc库" org.hibernate.tool.hbm2ddl.SchemaExport --config=hibernate.cfg.xml --format --delimiter=;

[B]hibernate配置文件: [/B]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create</property>
<property name="hibernate.c3p0.max_size">5</property>
<property name="hibernate.c3p0.max_statements">2</property>
<property name="hibernate.c3p0.min_size">1</property>
<property name="hibernate.connection.driver_class">com.sybase.jdbc3.jdbc.SybDriver</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.connection.url">jdbc:sybase:Tds:192.168.2.114:6000/turnstars</property>
<property name="hibernate.dialect">org.hibernate.dialect.SybaseDialect</property>
<property name="hibernate.show_sql">true</property>
<!-- *.hbm.xml register here -->
<mapping resource="com/lewis/netCentre/turnstars/model/model.hbm.xml"/>
</session-factory>
</hibernate-configuration>

[B]map文件:[/B]
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.lewis.netCentre.turnstars.model">
<class name="Star">
<id name="id">
<generator class="native"/>
</id>
<property name="name" length="10" not-null="true"/>
<property name="age" length="4" not-null="false"/>
<property name="resume" length="1000" not-null="true"/>
<property name="sign" length="500" not-null="false"/>
<property name="phone" length="13" not-null="true">
<column name="" default="88888888"/>
</property>
<property name="imagePath" length="100" not-null="true"/>
</class>
<class name="TurnRecord">
<id name="id">
<generator class="native"/>
</id>
<many-to-one name="star" class="com.lewis.netCentre.turnstars.model.Star" column="star_id" update="false" insert="false" not-null="true"/>
<property name="date" column="turn_date" type="date" unique="true" not-null="true"/>
<property name="report" length="1000" not-null="false"/>
<many-to-one name="oldStar" class="com.lewis.netCentre.turnstars.model.Star" column="old_star_id" update="false" insert="false" not-null="false"/>
</class>
</hibernate-mapping>


[B]Star.java [/B]
package com.lewis.netCentre.turnstars.model;
public class Star
{
private Long id=null;
private String name=null;
private String age=null;
private String resume=null;
private String sign=null;
private String phone=null;
private String imagePath=null;
public Star()
{
}
// all get and set methods
}

[B]TurnRecord.java [/B]
package com.lewis.netCentre.turnstars.model;

import java.util.*;

public class TurnRecord
{
private Long id=null;
private Star star=null;
private Date date=null;
private String report=null;
private Star oldStar=null;
public TurnRecord()
{
}
// All get and set methods
}

[B]错误信息: [/B]
15:09:04,150 INFO Environment:499 - Hibernate 3.2 cr2
15:09:04,166 INFO Environment:532 - hibernate.properties not found
15:09:04,166 INFO Environment:666 - Bytecode provider name : cglib
15:09:04,166 INFO Environment:583 - using JDK 1.4 java.sql.Timestamp handling
15:09:04,244 INFO Configuration:1345 - configuring from resource: hibernate.cfg.xml
15:09:04,260 INFO Configuration:1322 - Configuration resource: hibernate.cfg.xml
15:09:04,369 INFO Configuration:502 - Reading mappings from resource: com/lewis/netCentre/turnstars/model/model.hbm.xml
15:09:04,494 INFO HbmBinder:298 - Mapping class: com.lewis.netCentre.turnstars.model.Star -> Star
15:09:04,525 ERROR SchemaExport:398 - Error creating schema
org.hibernate.MappingException: Could not read mappings from resource: com/lewis/netCentre/turnstars/model/model.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:518)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1506)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1474)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1453)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1427)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1347)
at org.hibernate.tool.hbm2ddl.SchemaExport.main(SchemaExport.java:358)
Caused by: org.hibernate.MappingException: class com.lewis.netCentre.turnstars.model.Star not found while looking for property: id
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:74)
at org.hibernate.mapping.SimpleValue.setTypeUsingReflection(SimpleValue.java:276)
at org.hibernate.cfg.HbmBinder.bindSimpleId(HbmBinder.java:399)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:332)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:271)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:142)
at org.hibernate.cfg.Configuration.add(Configuration.java:419)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:460)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:515)
... 6 more
Caused by: java.lang.ClassNotFoundException: com.lewis.netCentre.turnstars.model.Star
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:102)
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:70)
... 14 more
...全文
415 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowolf128 2006-06-22
  • 打赏
  • 举报
回复
楼上说得对,是偶的错,偶竟然在src下面执行,晕死。
ChDw 2006-06-21
  • 打赏
  • 举报
回复
.ClassNotFoundException: com.lewis.netCentre.turnstars.model.Star

应该是你没有将你的类放入ClassPath中吧
AndrewCSDN 2006-06-21
  • 打赏
  • 举报
回复
<class name="Star"> <---- 这里应该生成 (还有<class name="TurnRecord"> )

<class name="Star" table="YOUR_TABLE_NAME">

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧