先说明一下我对此错的解决方案:
1 由于在网上找了很的办法,首先当然是把hibernate.cfg.xml和映射文件Zuser.hbm.xml左看右看,改了又改,1)我先认为是我数据表中有主,外键,所以我就另外建表(就是现在的表,等下我贴出)结果当然不是(没办法)2)我认为是自动生成的映射文件是大写的原因,我就把大写全改成小写,结果当然不是
现在我就把我的文件贴出来:hibernate.cfg.xml <hibernate-configuration>
<session-factory>
<property name="jdbc.batch_size">5</property>
<!-- Database connection settings -->
<property name="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
<property name="hibernate.proxool.pool_alias">DBPool</property>
<property name="hibernate.proxool.xml">proxool.xml</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<mapping resource="com/message/Zuser.hbm.xml" />
</session-factory>
</hibernate-configuration>
在这里我说一下这个:proxool.xml 本来它建的是大写的名字(Poxool.xml)我就不明白大写它报错说找不到(当然是不是跟你存放的位置有关呢?)
Poxool.xml <something-else-entirely>
<proxool>
<alias>DBPool</alias>
<driver-url>jdbc:oracle:thin:@localhost:1521:admin07</driver-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver-properties>
<property name="user" value="System" />
<property name="password" value="sql" />
</driver-properties>
<connection-lifetime>5000</connection-lifetime>
<maximum-connection-count>1000</maximum-connection-count>
<minimum-connection-count>30</minimum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE from dual</house-keeping-test-sql>
</proxool>
</something-else-entirely>
说明:<house-keeping-test-sql>这个东西我不懂意思
Zuser.hbm.xml 在这里我就是把里面的大写改成了小写
<hibernate-mapping>
<class name="com.message.Zuser" table="zuser" schema="system">
<id name="zuid" type="java.lang.Integer">
<column name="zuid"/>
<generator class="native" />
</id>
<property name="zuname" type="java.lang.String">
<column name="zuname" length="30" />
</property>
<property name="zupwd" type="java.lang.String">
<column name="zupwd" length="30" />
</property>
<property name="zurepwd" type="java.lang.String">
<column name="zurepwd" length="30" />
</property>
<property name="zuemail" type="java.lang.String">
<column name="zuemail" length="30" />
</property>
<property name="zurecord" type="java.lang.String">
<column name="zurecord" length="10" />
</property>
</class>
</hibernate-mapping>
1 由于在网上找了很的办法,首先当然是把hibernate.cfg.xml和映射文件Zuser.hbm.xml左看右看,改了又改,1)我先认为是我数据表中有主,外键,所以我就另外建表(就是现在的表,等下我贴出)结果当然不是(没办法)2)我认为是自动生成的映射文件是大写的原因,我就把大写全改成小写,结果当然不是
现在我就把我的文件贴出来:hibernate.cfg.xml <hibernate-configuration>
<session-factory>
<property name="jdbc.batch_size">5</property>
<!-- Database connection settings -->
<property name="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
<property name="hibernate.proxool.pool_alias">DBPool</property>
<property name="hibernate.proxool.xml">proxool.xml</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<mapping resource="com/message/Zuser.hbm.xml" />
</session-factory>
</hibernate-configuration>
在这里我说一下这个:proxool.xml 本来它建的是大写的名字(Poxool.xml)我就不明白大写它报错说找不到(当然是不是跟你存放的位置有关呢?)
Poxool.xml <something-else-entirely>
<proxool>
<alias>DBPool</alias>
<driver-url>jdbc:oracle:thin:@localhost:1521:admin07</driver-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver-properties>
<property name="user" value="System" />
<property name="password" value="sql" />
</driver-properties>
<connection-lifetime>5000</connection-lifetime>
<maximum-connection-count>1000</maximum-connection-count>
<minimum-connection-count>30</minimum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE from dual</house-keeping-test-sql>
</proxool>
</something-else-entirely>
说明:<house-keeping-test-sql>这个东西我不懂意思
Zuser.hbm.xml 在这里我就是把里面的大写改成了小写
<hibernate-mapping>
<class name="com.message.Zuser" table="zuser" schema="system">
<id name="zuid" type="java.lang.Integer">
<column name="zuid"/>
<generator class="native" />
</id>
<property name="zuname" type="java.lang.String">
<column name="zuname" length="30" />
</property>
<property name="zupwd" type="java.lang.String">
<column name="zupwd" length="30" />
</property>
<property name="zurepwd" type="java.lang.String">
<column name="zurepwd" length="30" />
</property>
<property name="zuemail" type="java.lang.String">
<column name="zuemail" length="30" />
</property>
<property name="zurecord" type="java.lang.String">
<column name="zurecord" length="10" />
</property>
</class>
</hibernate-mapping>
解决方案 »
- 一个JAVA排序问题
- xmlHttpRequest.open(); 对象不支持此属性或方法
- 请教如何通过WSDL2Java生成的客户端获得Asynchronous BPEL的反馈?
- 恳求一hibernater简单问题????????????????????????????????????????????
- 谁有springside2.0完整版,谢谢.
- 关于weblogic出现“can't find driver class”异常
- 我想用JSP,APPLET来画图,用什么来开发,以前用VC,就知道VC,要用JSP还真不知道,给个建议
- 请教jsp如何连接mysql!
- 整数正常,带小数就报错
- Myeclipse运行ssh项目时报错什么解决?
- struts+spring+hibernate框架里,在一个action里能不能调用多个service
- java连接ORACLE JDBC问题?
String userPassword = request.getParameter("userPwd");
//创建连接
Zuser um = null;
MessageHibernateDAO mhdao = new MessageHibernateDAO();
String hsql = "select zu.zuname,zu.zupwd,zu.zurepwd,zu.zuemail,zu.zurecord from Zuser as zu where zu.zuname = '"+userName+"'";
List listUser = mhdao.getObjects(hsql);
//关闭连接
HibernateSessionFactory.closeSession();
if(listUser == null)
{
return (mapping.findForward("rlogon"));
}
else
{
return (mapping.findForward("messageIndex"));
}
这是里面调用的方法:public List getObjects(String hsql)
{
Session session = HibernateSessionFactory.currentSession();//.openSession();
session.beginTransaction();
Query query = session.createQuery(hsql);
System.out.println("query=="+query);
List result = query.list();
System.out.println("result="+result);
return result;
}
这是表的虚类:private int zuid;
private String zuname;
private String zupwd;
private String zurepwd;
private String zuemail;
private String zurecord;
// Constructors
/** default constructor */
public AbstractZuser() {
}
/** full constructor */
public AbstractZuser(String zuname, String zupwd, String zurepwd, String zuemail, String zurecord) {
this.zuname = zuname;
this.zupwd = zupwd;
this.zurepwd = zurepwd;
this.zuemail = zuemail;
this.zurecord = zurecord;
}
// Property accessors
public int getZuid() {
return this.zuid;
}
public void setZuid(int zuid) {
this.zuid = zuid;
}
public String getZuname() {
return this.zuname;
}
public void setZuname(String zuname) {
this.zuname = zuname;
}
public String getZupwd() {
return this.zupwd;
}
public void setZupwd(String zupwd) {
this.zupwd = zupwd;
}
public String getZurepwd() {
return this.zurepwd;
}
public void setZurepwd(String zurepwd) {
this.zurepwd = zurepwd;
}
public String getZuemail() {
return this.zuemail;
}
public void setZuemail(String zuemail) {
this.zuemail = zuemail;
}
public String getZurecord() {
return this.zurecord;
}
public void setZurecord(String zurecord) {
this.zurecord = zurecord;
}
2. Zuser.hbm.xml 指定的 com.message.Zuser 用最简单的,不要用构造方法
3. 既然指定了com.message.Zuser路径 Zuser.hbm.xml和hibernate.cfg.xml放在同级目录下最好。