Hibernate Unknown entity(我知道之前有人问过......)[重复]
Posted
技术标签:
【中文标题】Hibernate Unknown entity(我知道之前有人问过......)[重复]【英文标题】:Hibernate Unknown entity (I know it has been asked before...) [duplicate] 【发布时间】:2016-11-20 02:20:58 【问题描述】:我知道这个问题已经被问过一千次了,但我无法解决我的问题...我在互联网上搜索了整个互联网并找不到解决方案...这是错误!
休眠 5.1
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"/>
<property name="hibernate.default_schema">protein_tracker</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="com/twentyone/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
映射文件:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Jul 18, 2016 9:29:14 PM by Hibernate Tools 3.5.0.Final -->
<hibernate-mapping>
<class name="com.twentyone.User" table="USERS">
<id name="id" type="int">
<column name="ID" />
<generator class="assigned" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<property name="goal" type="int">
<column name="GOAL" />
</property>
<property name="total" type="int">
<column name="TOTAL" />
</property>
</class>
</hibernate-mapping>
HibernateUtilities 类
package com.twentyone;
import org.hibernate.HibernateException;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
public class HibernateUtilities
private static SessionFactory sessionFactory;
private static ServiceRegistry serviceRegistry;
static
try
Configuration configuration = new Configuration().configure();
serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
catch (HibernateException e1)
e1.printStackTrace();
System.out.println("Problem");
public static SessionFactory getSessionFactory()
return sessionFactory;
主要
package com.twentyone;
import org.hibernate.Session;
public class Program
public static void main(String[] args)
System.out.println("Hayden");
Session session = HibernateUtilities.getSessionFactory().openSession();
session.beginTransaction();
User user = new User();
user.setName("Hayden");
user.setGoal(250);
session.save(user);
session.getTransaction().commit();
session.close();
HibernateUtilities.getSessionFactory().close();
【问题讨论】:
请添加Hibernate版本、xml配置、配置代码。 @v.ladynev 所以……我编辑了这个问题……你能帮忙吗? 【参考方案1】:已经是经典问题了:不能用Hibernate 4的配置代码来配置Hibernate 5。
https://***.com/a/32711654/3405171
只需使用:
Configuration configuration = new Configuration().configure();
sessionFactory = configuration.buildSessionFactory();
如果您在hibernate.properties
中有属性,则上述代码有效。你有它在hibernate.cfg.xml
。我不记得了,可能它也适用于这种情况。
无论如何,您都可以使用新的 Hibernate 5 Bootstrap API。
【讨论】:
是的......我猜它很好......现在它说“没有选择数据库” @Hayden 为什么不指定密码?尝试在日志或控制台中查看,Hibernate 是否加载了属性? 我使用phpMyAdmin,我的数据库没有密码 @Hayden 你在 Hibernate 日志中看到org.hibernate.dialect.MySQLDialect
了吗?
现在有那些错误... 1-"解析 JNDI 名称 [] 时出错" 2-"需要在环境或系统属性中指定类名,或作为小程序参数,或在应用程序中资源文件:java.naming.factory.initial" 3-"无法执行语句" 4-"未选择数据库"...对不起,我是 Hibernate 中的新手/新手以上是关于Hibernate Unknown entity(我知道之前有人问过......)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Hibernate报错org.hibernate.MappingException: Unknown entity: 。。。。
org.hibernate.MappingException: Unknown entity 使用annotation,javax.persisitence包
Hibernate Unknown entity(我知道之前有人问过......)[重复]
@ManyToOne references an unknown entity:
使用 Spring & JPA,获取 java.lang.IllegalArgumentException: Unknown entity