用户信息类:
package mypack;
import java.util.Date;
public class Reginfo
{
private Long id;
private int id_2;
private String userid;
private String userpass;
private String name;
private boolean sex;
private int age;
private String phone;
private String email;
private String address;
private boolean role;
private Date lastlogin;

public Reginfo() {}

public Long getId()
{
return id;
}

public int getId_2()
{
return id_2;
}
public void setId_2(int id_2)
{
this.id_2=id_2;
}

public String getUserid()
{
return userid;
}
public void setUserid(String userid)
{
this.userid=userid;
}

public String getUserpass()
{
return userpass;
}
public void setUserpass(String userpass)
{
this.userpass=userpass;
}

public String getName()
{
return name;
}
public void setName(String name)
{
this.name=name;
}

public  boolean getSex()
{
return sex;
}
public void setSex(boolean sex)
{
this.sex=sex;
}

public  int getAge()
{
return age;
}
public void setAge(int age)
{
this.age=age;
}

public  String getPhone()
{
return phone;
}
public void setPhone(String phone)
{
this.phone=phone;
}

public  String getEmail()
{
return email;
}
public void setEmail(String email)
{
this.email=email;
}

public  String getAddress()
{
return address;
}
public void setAddress(String address)
{
this.address=address;
}

public  boolean getRole()
{
return role;
}
public void setRole(boolean role)
{
this.role=role;
}

public  Date getLastlogin()
{
return lastlogin;
}
public void setLastlogin(Date lastlogin)
{
this.lastlogin=lastlogin;
}}映射文件:Reginfo.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"><hibernate-mapping>
  <class name="mypack.Reginfo" table="reginfo">
     
  
    <id name="id_2" column="userid" type="int">
      <generator class="increment"/>
    </id>
    <property name="userid"  column="登陆名"  type="string" not-null="true" />  
    <property name="userpass"  column="登陆密码"  type="string" not-null="true" />  
    <property name="name"  column="姓名"  type="string" not-null="true" />  
    <property name="sex"  column="性别"  type="boolean" not-null="true" />  
    <property name="age"  column="年龄"  type="int" not-null="true" />  
    <property name="phone"  column="手机"  type="string" not-null="true" />  
    <property name="email"  column="电子邮件"  type="string" not-null="true" />  
    <property name="address"  column="地址"  type="string" not-null="true" />  
    <property name="role"  column="用户身份"  type="boolean" not-null="true" />  
    <property name="lastlogin"  column="上次登陆"  type="date" not-null="true" />  
  
  </class></hibernate-mapping>
数据表结构:
create table reginfo
(
userid integer not null,
登陆名 varchar(20) not null,
登陆密码 varchar(20) not null,
姓名 varchar(10) not null,
性别 bit not null,
年龄 integer not null,
手机 char(20) not null,
电子邮件 char(50) not null,
地址 varchar(60) not null,
用户身份 bit not null,
上次登陆 datetime not null,
primary key(userid),
)

解决方案 »

  1.   

    调试信息:
    C:\helloapp>ant run
    Buildfile: build.xmlprepare:
       [delete] Deleting directory C:\helloapp\WEB-INF\classes
        [mkdir] Created dir: C:\helloapp\WEB-INF\classes
         [copy] Warning: log4j.properties modified in the future.
         [copy] Copying 6 files to C:\helloapp\WEB-INF\classescompile:
        [javac] Warning: log4j.properties modified in the future.
        [javac] Compiling 7 source files to C:\helloapp\WEB-INF\classes
        [javac] C:\helloapp\src\mypack\BusinessService.java:105: warning: finally clause cannot complete normally
        [javac]       }
        [javac]       ^
        [javac] C:\helloapp\src\mypack\BusinessService.java:130: warning: finally clause cannot complete normally
        [javac]     }
        [javac]         ^
        [javac] C:\helloapp\src\mypack\BusinessService.java:199: warning: finally clause cannot complete normally
        [javac]     }
        [javac]     ^
        [javac] C:\helloapp\src\mypack\BusinessService.java:224: warning: finally clause cannot complete normally
        [javac]     }
        [javac]     ^
        [javac] C:\helloapp\src\mypack\BusinessService.java:250: warning: finally clause cannot complete normally
        [javac]     }
        [javac]     ^
        [javac] 5 warningsrun:
         [java] 18:57:42,392  INFO Environment:478 - Hibernate 2.1.7
         [java] 18:57:42,402  INFO Environment:512 - loaded properties from resource hibernate.properties: {hibernate.connection.username=sa, hibernate.connection.password=1234, hibernate.cglib.use_reflection_optimizer=true, hibernate.dialect=net.sf.hibernate.dialect.SQLServerDialect, hibernate.connection.url=jdbc:JSQLConnect://localhost:1433/userinfo, hibernate.connection.driver_class=com.jnetdirect.jsql.JSQLDriver }
         [java] 18:57:42,422  INFO Environment:538 - using CGLIB reflection optimizer
         [java] 18:57:42,422  INFO Environment:567 - using JDK 1.4 java.sql.Timestamp handling
         [java] 18:57:42,432  INFO Configuration:350 - Mapping resource: mypack/Reginfo.hbm.xml
         [java] 18:57:43,303 ERROR Configuration:295 - Could not configure datastore from input stream
         [java] org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence. Nested exception: Invalid byte 1 of 1-byte UTF-8 sequence.
         [java] net.sf.hibernate.MappingException: Error reading resource: mypack/Reginfo.hbm.xml
         [java]     at org.dom4j.io.SAXReader.read(SAXReader.java:358)
         [java]     at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:286)
         [java]     at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:357)
         [java]     at mypack.BusinessService.<clinit>(BusinessService.java:21)
         [java]     at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:354)
         [java]     at mypack.BusinessService.<clinit>(BusinessService.java:21)
         [java] Nested exception:
         [java] java.io.UTFDataFormatException: Invalid byte 1 of 1-byte UTF-8 sequence.
         [java] Caused by: net.sf.hibernate.MappingException: org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence. Nested exception: Invalid byte 1 of 1-byte UTF-8 sequence.
         [java]     at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:296)
         [java]     at org.apache.xerces.impl.io.UTF8Reader.invalidByte(Unknown Source)
         [java]     at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source)
         [java]     at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:354)
         [java]     ... 1 more
         [java]     at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
         [java]     at org.apache.xerces.impl.XMLEntityScanner.scanLiteral(Unknown Source)
         [java] Caused by: org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence. Nested exception: Invalid byte 1 of 1-byte UTF-8 sequence.
         [java]     at org.dom4j.io.SAXReader.read(SAXReader.java:358)
         [java]     at org.apache.xerces.impl.XMLScanner.scanAttributeValue(Unknown Source)
         [java]     at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanAttribute(Unknown Source)
         [java]     at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:286)
         [java]     ... 2 more
         [java]     at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
         [java]     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
         [java]     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
         [java]     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         [java]     at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
         [java]     at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
         [java]     at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
         [java]     at org.dom4j.io.SAXReader.read(SAXReader.java:339)
         [java]     at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:286)
         [java]     at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:354)
         [java]     at mypack.BusinessService.<clinit>(BusinessService.java:21)
         [java] 5555555555555555BUILD SUCCESSFUL
    Total time: 5 seconds
    C:\helloapp>可能太过于长了,不过没有办法,我已经尽力将不相干的内容排除了,请各位指点!因为我是刚刚接触这个,所以,各位的只言片语可能对我都会是莫大的帮助,谢谢!
      

  2.   

    把你的程序里
          Configuration config = new Configuration();
          config.addClass(Reginfo.class);
          config.addClass(Userpower.class);      
          config.addClass(Sql.class);
          config.addClass(Sqlstat.class);该成:
    Configuration config = new Configuration().configure();我把你贴出来的代码导进我的工程
    修改完后可以添加数据
    我的数据库是mysql
    hibernate.cfg.xml是按自己的数据库配置的
      

  3.   

    这是我的hibernate配置文件,我把相关的代码改了改,改为 
    Configuration config = new Configuration().configure();
          config.addClass(Reginfo.class);
          sessionFactory = config.buildSessionFactory();
    现在出错信息是这样的,看起来估计是建立 Configuration()对象的时候出现的错误,能请那位大虾解释一下么?
    hibernate.cfg.xml<?xml version="1.0" encoding="utf-8" ?>
    <!DOCTYPE hibernate-configuration
     PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
     "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"><hibernate-configuration>
    <session-factory >
    <property name="dialect">
    net.sf.hibernate.dialect.SQLServerDialect
    </property>
    <property name="connection.driver_class">
    com.jnetdirect.jsql.JSQLDriver
    </property>
    <property name="connection.url">
    jdbc:JSQLConnect://localhost:1433/userinfo
    </property>
    <property name="connection.username">
    sa
    </property>
    <property name="connection.password">
    1234
    </property><property name="show_sql">true</property><mapping resource="yl/Reginfo.hbm.xml" />
    </session-factory>
    </hibernate-configuration>
    修改后的Reginfo.hbm.xml<?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"><hibernate-mapping>
      <class name="yl.Reginfo" table="reginfo">
         
      
        <id name="id" column="userid" type="long">
          <generator class="increment"/>
        </id>
        <property name="userid"  column="登陆名"  type="string" not-null="true" />  
        <property name="userpass"  column="登陆密码"  type="string" not-null="true" />  
        <property name="name"  column="姓名"  type="string" not-null="true" />  
        <property name="sex"  column="性别"  type="boolean" not-null="true" />  
        <property name="age"  column="年龄"  type="int" not-null="true" />  
        <property name="phone"  column="手机"  type="string" not-null="true" />  
        <property name="email"  column="电子邮件"  type="string" not-null="true" />  
        <property name="address"  column="地址"  type="string" not-null="true" />  
        <property name="role"  column="用户身份"  type="boolean" not-null="true" />  
        <property name="lastlogin"  column="上次登陆"  type="date" not-null="true" />  
      
      </class></hibernate-mapping>
      

  4.   

    不用写config.addClass(Reginfo.class);
    加上去反而会出错addClass函数只当你用SchemaExport建表的时候才需要用到
    千万要记住!!!