在我的项目,我得到“无法插入表中的错误”,我加入necesarry部分代码在这里和最好:)无法插入Java中Hibernate的MySQL数据库表错误
我的登录希望类
package DAO;
import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.AnnotationConfiguration;
import tables.Users;
public class LogIn {
Session session;
public boolean RegisterUsers(Object user) {
if (SaveDatabase(user)) {
return true;
} else {
return false;
}
}
public boolean GetUsersWithId(Users user) {
SessionFactory sessionfactory = new Configuration().configure()
.buildSessionFactory();
session = sessionfactory.openSession();
user = (Users) session.get(Users.class, user.getUserId());
session.close();
if (user == null) {
return false;
} else {
return true;
}
}
public boolean SaveDatabase(Object object) {
try {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = null;
Long courseId = null;
try {
transaction = session.beginTransaction();
session.save(object);
courseId = (Long) session.save(object);
transaction.commit();
} catch (Exception e) {
transaction.rollback();
System.out.println(e.getMessage());
return false;
}
} finally {
session.close();
}
return true;
}
}
HibernateUtil作为这些代码
package DAO;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new Configuration().configure()
.buildSessionFactory();
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
测试类
import DAO.LogIn;
import tables.Location;
import tables.Users;
public class Test {
public static void main(String[] args) {
// Test RegisterUser and GetUsersWithId in here
LogIn test = new LogIn();
Users user = new Users();
user.setUserEmail("email");
user.setUserAdress("adres here");
user.setUserFbId(3);
test.RegisterUsers(user);
}
}
感谢您的帮助
编辑:删除配置。 xml文件和自动创建的用户类来清理混乱。
这是一个巨大的代码量。有人打算为你调试吗?你能提供一个[简短的例子](http://sscce.org/),大约是其大小的四分之一,并产生相同的错误? – Ben
您能否将代码简化为一个最简单的示例并添加一个确切的错误消息/堆栈跟踪? – micha
另外,用户类的变量太多了。你应该把它重构成其他对象。 –