嗨,我是hibernate的新手,当我在hibernate中使用load方法查询时,sql查询不会打印在控制台上。我还提到了Hibernate.cfg.xml
文件中的条目。
Hibernate.cfg.xml
文件中的条目:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:mysql://localhost:3306</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.username">root</property>
<property name="connection.password">P@ssw0rd@123</property>
<property name="show_sql">true</property>
<mapping resource="hibernate/pojo/EmpDataEntity.hbm.xml"/>
<mapping resource="hibernate/pojo/EmpDtlsEntity.hbm.xml"/>
<mapping resource="hibernate/pojo/TeamEntity.hbm.xml"/>
</session-factory>
</hibernate-configuration>
&#13;
我的标准查询是:
EmpDtlsEntity empDtlsEntity = (EmpDtlsEntity)session.load(EmpDtlsEntity.class,1);
请帮助我。
答案 0 :(得分:0)
JDBC:MySQL的://本地主机:3306
你确定你的这个映射是对的吗?我认为它缺少数据库名称
JDBC:MySQL的://本地主机:3306 /的的databaseName 强>
答案 1 :(得分:0)
session.load
可能会返回代理,这意味着它可能不会转到数据库(只在代理中设置了id)。一旦您访问其中的属性,该实例将从数据库初始化。
如果您希望立即从数据库加载实例,可以使用session.get
。