您好,我是Hibernate的新手,我正在试图理解它是如何工作的,所以我制作了一个servlet来用Hibernate建立到DB的连接。在向configuration.cfg.xml添加一个hbm文件之前,一切都很好。我无法解释为什么当我添加这个时servlet会崩溃。
我的目录如下:
hibernate.cfg.xml文件:
<?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>
<!-- Database connection settings -->
<property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
<property name="hibernate.connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>
<property name="hibernate.connection.url">jdbc:derby://localhost:3306/realestate</property>
<property name="hibernate.connection.username">test</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.query.factory_class">org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory</property>
<!-- JDBC connection pool (use the built-in) -->
<property name='connection.pool_size'>1</property>
<!-- SQL dialect -->
<property name='dialect'>org.hibernate.dialect.MySQLDialect</property>
<!-- Echo all executed SQL to stdout -->
<property name='show_sql'>true</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<--without the below line works fine-->
<mapping resource="Entities/Users.hbm.xml"/>
</session-factory>
</hibernate-configuration>
CREATE TABLE IF NOT EXISTS `realEstate`.`Users` (
`user_id` INT NOT NULL AUTO_INCREMENT,
`Username` VARCHAR(45) NULL,
`Password` VARCHAR(45) NULL,
`RegistrationDate` VARCHAR(15) NULL,
`Name` VARCHAR(45) NULL,
`Surname` VARCHAR(45) NULL,
`Phone` VARCHAR(45) NULL,
`Email` VARCHAR(45) NULL,
`Registered` TINYINT(1) NULL,
PRIMARY KEY (`user_id`),
UNIQUE INDEX `user_id_UNIQUE` (`user_id` ASC))
ENGINE = InnoDB;
package Entities;
public class Users {
private int user_id;
private String username;
private String password;
private String date;
private String name;
private String surname;
private String phone;
private String email;
private boolean registered;
public int getUser_id() {
return user_id;
}
public void setUser_id(int user_id) {
this.user_id = user_id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
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 boolean getRegistered() {
return registered;
}
public void setRegistered(boolean registered) {
this.registered = registered;
}
}
<?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>
<class name="entities.Users" table="USERS">
<id name="user_id" type="int">
<column name="user_id" />
<generator class="assigned" />
</id>
<property name="username" type="java.lang.String">
<column name="Username" length="45"/>
</property>
<property name="password" type="java.lang.String">
<column name="Password" length="45" />
</property>
<property name="name" type="java.lang.String">
<column name="Name" length="45"/>
</property>
<property name="date" type="java.lang.String">
<column name="RegistrationDate" length="45"/>
</property>
<property name="surname" type="java.lang.String">
<column name="Surname" length="45"/>
</property>
<property name="phone" type="java.lang.String">
<column name="Phone" length="45"/>
</property>
<property name="email" type="java.lang.String">
<column name="Email" length="45"/>
</property>
<property name="registered" type="boolean">
<column name="Registered" />
</property>
</class>
</hibernate-mapping>
编辑:下面是stacktrace类型异常报告
实例化servlet类servlets.a的消息错误
说明服务器遇到一个内部错误,使其无法满足此请求。
根本原因
java.lang.exceptioninInitializerError hibernate.hibernateUtil.(hibernateUtil.java:22)servlets.a.(a.java:35)sun.reflect.nativeConstructorAccessorImpl.newinstance0(原生方法)sun.reflect.nativeConstructorAccessorImpl.newinstance(未知源)sun.reflect.nativeConstructorAccessorImpl.newinstance(未知源)sun.reflect.delecting ve.invoke(ErrorReportValve.java:79)org.apache.catalina.valves.abstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)org.apache.catalina.connector.coyoteAdapter.Service(CoyoteAdapter.java:526)org.apache.coyote.http11.abstractThtp11Processor.Process(AbstractThtp11Processor.Process(AbstractThtprotocol$AbstractConnonhandler.process(http11nioProtocol.java:222)org.apache.tomcat.util.net.nioEndpoint$socketprocessor.dorun(NioEndpoint.java:1566)org.apache.tomcat.util.net.nioEndpoint$socketprocessor.run(NioEndpoint.java:1523)java.util.concurrent.threadpoolexecutor.run(nioEndpoint.java:1523)java.util.concurrent来源)
根本原因
verifyError:类org.hibernate.type.WrappdMaterializedBlobType重写最终方法getReturdClass.()ljava/lang/class;defineClass1(Native Method)java.lang.classloader.defineClass(未知源)java.security.secureClassLoader.defineClass(未知源)org.apache.catalina.loader.webappClassLoader.findClassInternal(webappClassLoader.java:2479)org.apache.catalina.loader.webappClassLoader.findClass type.basicTyperegistry.(basicTyperegistry.java:91)org.hibernate.type.typeresolver.(typeresolver.java:59)org.hibernate.cfg.comfiguration.(configuration.java:250)org.hibernate.cfg.comfiguration.(configuration.java:302)org.hibernate.cfg.comfiguration.(configuration.java:168)hibernate.cfg.annotationconfiguration.(实例(未知源)sun.reflect.delegatingconstructoraccessorimpl.newinstance(未知源)java.lang.reflect.constructor.newinstance(未知源)java.lang.class.newinstance(未知源)java.lang.class.newinstance(未知源)org.apache.catalina.authenticator.authenticator.authenticatorbase.invoke(processor.process(AbstractHttp11Processor.java:1078)org.apache.coyote.abstractConnectionHandler.process(AbstractProtocol.java:655)ncurrent.threadpoolexecutor.runworker(未知源)java.util.concurrent.threadpoolexecutor$worker.run(未知源)org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61)java.lang.thread.run(未知源)
注意:根本原因的完整堆栈跟踪可在Apache Tomcat/8.0.9日志中获得。
在映射文件中,类名应该是“entities.users”,而不是“entities.user”。我宁愿使用“users”并指定像
这样的包,但我非常怀疑这是否会导致问题。你能提供错误的stacktrace吗?
我正在尝试使用以下方法将元素添加到名为activList的ArrayList中: 但是我在运行代码时在这一行得到了一个NullPointerExcema: 我确实读过这一页:什么是NullPointerException,如何修复它?(请不要重复报告) 我所理解的是,我得到错误是因为我的ArrayList没有任何元素。但是,我尝试在创建后立即添加一个,如下所示: 但我得到了一个错误:“意外标记:(
每当用户在JOptionPane确认对话框的帮助下被询问是否将产品添加到购物车时选择“是”,我都会尝试将行添加到我的表中。我的代码如下: 然而,我得到了这个错误:线程“AWT-EventQueue-0”java.lang.ClassCastException:javax.swing中出现异常。JTable$1无法强制转换为javax.swing.table.DefaultTableModel 有人
我有一个比较简单的问题,就是尝试将内联脚本添加到React组件中。我目前所掌握的: 我还尝试过: 这两种方法似乎都无法执行所需的脚本。我想我错过的是一件简单的事。有人能帮忙吗? PS:忽略foobar,我有一个真实的id实际上在使用,我不想分享。
package.json: 我还为数据库设置了如下规则:
我正在使用entityMenager登录,并没事。
我试图添加ALT标签到我的网站上的自定义船旋转木马和船页面。不知道我需要添加什么PHP以及把它放在哪里。旋转木马和页面上的图像都是缩略图。 我有一页。php和boat_旋转木马。php,这是我认为需要添加代码的地方。 不确定我是否应该将所有代码添加到此帖子。 这是指向该页面的链接https://www.embarkboathire.com.au/boats/ 你可以看到底部的船,每页有15艘。 }