工作以来本人经历的一些hibernate问题集锦--更新中
1.org.
hibernate.LazyInitializationException: could not initialize proxy - no
Session
看了网上一片文章`
解决方法是lazy设置为false 终于知道问题的根源,将lazy设置为false run了一次XDoclet,生成了hbm配置
文件,但问题仍未解决!访问时还是报这个错误
最后看看配置,lazy选项没了``才发觉XDoclet是不会帮你生成lazy选项的`
又或者是我没加上
最后在hbm配置文件中修改lazy="false"问题得到解决
-
<class
-
name="cn.jjo.type.ejb.SmallType"
-
table="PRO_SMALLTYPE"
-
dynamic-update="true"
-
dynamic-insert="true"
-
lazy="false"
-
>
- 2.换数据库时经常犯得错,没换数据库方言
- 下面是spring中配置HibernatesessionFactory的例子
-
<beanid="sessionFactory"
-
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
-
<propertyname="dataSource"ref="dataSource"/>
-
<propertyname="hibernateProperties">
-
<props>
-
-
<propkey="hibernate.dialect">
- org.hibernate.dialect.MySQLDialect
-
</prop>
-
<propkey="hibernate.show_sql">false</prop>
-
<propkey="hibernate.hbm2ddl.auto">update</prop>
-
<propkey="hibernate.jdbc.batch_size">20</prop>
-
<propkey="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</prop>
- <!--
-
<propkey="hibernate.cache.provider_class">
- org.hibernate.cache.EhCacheProvider
-
</prop>
-
-->
-
<propkey="hibernate.cache.use_query_cache">true</prop>
-
</props>
-
</property>
-
<propertyname="mappingResources">
-
<list>
-
<value>cn/jjo/product/ejb/Product.hbm.xml</value>
-
<value>cn/jjo/user/ejb/Admin.hbm.xml</value>
-
<value>cn/jjo/product/ejb/Information.hbm.xml</value>
-
<value>cn/jjo/product/ejb/BigType.hbm.xml</value>
-
<value>cn/jjo/product/ejb/ExcelInfo.hbm.xml</value>
-
</list>
-
</property>
-
</bean>
以下是各数据库对应得方言
RDBMS |
方言 |
DB2 |
org.hibernate.dialect.DB2Dialect |
DB2 |
org.hibernate.dialect.DB2400Dialect |
AS/400 |
org.hibernate.dialect.DB2390Dialect |
DB2 OS390 |
org.hibernate.dialect.PostgreSQLDialect |
PostgreSQL |
org.hibernate.dialect.PostgreSQLDialect |
MySQL |
org.hibernate.dialect.MySQLDialect |
MySQL with InnoDB |
org.hibernate.dialect.MySQLInnoDBDialect |
MySQL with MyISAM |
org.hibernate.dialect.MySQLMyISAMDialect |
Oracle (any version) |
org.hibernate.dialect.OracleDialect |
Oracle 9i/10g |
org.hibernate.dialect.Oracle9Dialect |
Sybase |
org.hibernate.dialect.SybaseDialect |
Sybase Anywhere |
org.hibernate.dialect.SybaseAnywhereDialect |
Microsoft SQL Server |
org.hibernate.dialect.SQLServerDialect |
SAP DB |
org.hibernate.dialect.SAPDBDialect |
Informix |
org.hibernate.dialect.InformixDialect |
HypersonicSQL |
org.hibernate.dialect.HSQLDialect |
Ingres |
org.hibernate.dialect.IngresDialect |
Progress |
org.hibernate.dialect.ProgressDialect |
Mckoi SQL |
org.hibernate.dialect.MckoiDialect |
Interbase |
org.hibernate.dialect.InterbaseDialect |
Pointbase |
org.hibernate.dialect.PointbaseDialect |
FrontBase |
org.hibernate.dialect.FrontbaseDialect |
Firebird |
org.hibernate.dialect.FirebirdDialect |
还可以配置.properties文件这里就不列出了。也是一个“#”号问题。。。
其实不人不怎么懂方言得作用,上课李
老师说了也好像忘记了цк ,应该是英语跟中文的差别吧。。。
3.初学者常见问题
Caused by:
org.dom4j.DocumentException: Invalid byte 2 of 2-byte UTF-8 sequence.
Nested exception: Invalid byte 2 of 2-byte UTF-8 sequence.
如果出现这行错误说明你的xml配置文件有不规范的字符,检查下。
net.sf.hibernate.MappingException: Error reading resource: hibernate/Hello_Bean.hbm.xml
如果出现这行错误说明你的hibernate的XML配置文件有错\r
net.sf.hibernate.MappingException: Resource: hibernate/Hello_Bean.hbm.xml not found
如果出现这行错误说明hibernate的XML配置文件没有找到,你应该把XML文件放在与你的类文件同个
目录下,本文中是放
在hibernate\classes\hibernate\目录下,也就是跟Hello_Bean.class类文件一起。
net.sf.hibernate.PropertyNotFoundException: Could not find a setter for property name in class hibernate.Hello_Bean
如果出现这行错误说明你的xml文件里设置的
字段名name的值与Hello_Bean.
java类里的getXXX或setXXX方法不一致。
net.sf.hibernate.HibernateException:
JDBC Driver class not found: org.gjt.mm.
mysql.Driver
如果出现这行错误说明你的MYSQL驱动没有加进LIB库里或者不在CLASSPATH里。
PS:没有错误是不正常,错误是我们的老师啊!!
分享到:
相关推荐
hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.12.Final.jar hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-4.1.12.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar ...
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
而`hibernate-configuration-3.0.dtd`和`hibernate-mapping-3.0.dtd`是Hibernate 3.0版本中的两个核心文件,它们定义了Hibernate配置文件和映射文件的语法规则,是理解Hibernate工作原理的关键所在。 首先,我们来...
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...
hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码 hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码
2. **库文件**:包含jar包,如hibernate-core.jar、hibernate-entitymanager.jar等,这些是我们在项目中引入Hibernate时需要用到的依赖库。 3. **文档**:通常包括用户指南、API文档、开发者文档等,这些文档提供了...
在`hibernate-commons-annotations-5.0.1.Final.jar`中,`META-INF`目录包含了一些重要的元数据文件。其中,`MANIFEST.MF`文件记录了jar文件的基本信息,如版本、作者等。此外,`services`子目录下可能包含`javax....
hibernate-release-5.0.7.Final压缩包 -document -lib -project 内部Hibernate依赖库: antlr-2.7.7.jar dom4j-1.6.1.jar geronimo-jta_1.1_spec-1.1.1.jar hibernate-commons-annotations-5.0.1.Final.jar ...
很多人为了配置jpa找这个动态产生字节码的jar文件,hibernate-distribution-3.3.1.GA包太大,而hibernate-distribution-3.3.2.GA的jar没有这个jar文件,希望对大家有用
hibernate-jpa-2.0-api-1.0.1.Final.jar
hibernate-jpa-2.0-api-1.0.1.Final-sources.jar hibernate jpa 源代码
- **配置**: 开发者需要在pom.xml或build.gradle文件中添加`hibernate-jpa-2.1-api-1.0.0.final.jar`依赖,然后在应用配置中指定Hibernate作为JPA提供商。 - **实体类**: 使用@Entity注解标记Java类为JPA实体,并...
本次我们聚焦于`hibernate-release-4.3.10.Final`版本,这是一个稳定且功能丰富的版本,为开发者提供了强大的数据持久化支持。 1. **Hibernate概述**: Hibernate 是一款开源的 ORM 框架,它将 Java 类与数据库表...
Hibernate稳定版(hibernate-release-5.3.23.Final.zip),Hibernate ORM 是一个为应用程序、库和框架提供对象/关系映射 (ORM) 支持的库。它还提供了 JPA 规范的实现,这是 ORM 的标准 Java 规范。
hibernate-commons-annotations-5.1.0.Final.jar
【压缩包子文件的文件名称列表】中的"hibernate-release-4.1.4.Final"很可能是整个Hibernate 4.1.4.Final版本的打包文件,其中可能包含了以下部分: 1. **源代码**:供开发者参考和学习,理解Hibernate的内部实现。...
hibernate-core-5.4.24.Final.jar
使用hibernate-validator 进行校验的jar包,里面包括了基础hibernate-validator-5.0.0.CR2.jar hibernate-validator-annotation-processor-5.0.0.CR2.jar 之外,还包括了el-api-2.2.jar javax.el-2.2.4等项目必不可...
hibernate-mapping-3.0.dtd 配置后,就会在xml中进行提示
《深入理解Hibernate Core 5.0.11.Final....通过以上分析,我们可以看出`hibernate-core-5.0.11.Final.jar`在ORM中的重要地位。掌握其源码和应用,对于提升Java开发人员的数据库操作能力和项目性能优化具有深远意义。