`
anzn20
  • 浏览: 87493 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

HIBERNATE 实体映射问题

 
阅读更多
今天项目发现一个疑问就是hibernate 映射出来的实体bean对象,里面的属性变了样子。。以至于我在页面上引用,全是抛出EL表达式错误、没有找到相应的映射属性。
就比如标题:N_TITLE 这个是数据库的字段名,我们没有按照规范来写,直接写的N_TITLE,然而获取的时候,缺变成了n_TITLE 不晓得出在哪里的问题
但是比如:AO_TITLE 这样映射出来就没有问题,都是正常的。请问你们遇到这样的问题嘛。
今天还发现一个问题:N_TITLE 只能映射成NTitle ,写成nTitle它也会找不到get,set方法抛出org.hibernate.PropertyNotFoundException: Could not find a getter for nTITLE in class com.legend.shipment.PRISONWB  我晕了!记得hibernate里面的pojo可以随便的写啊?


具体我也想明白是为什么、也许是bug吧:
package com.bjhy.prisonweb.domain.module.base;

import java.beans.Introspector;
import java.lang.reflect.Method;

public class Test {
	private static Method getterMethod(Class theClass, String propertyName) {

		Method[] methods = theClass.getDeclaredMethods();
		for (int i = 0; i < methods.length; i++)
			// only carry on if the method has no parameters
			if (methods[i].getParameterTypes().length == 0) {
				String methodName = methods[i].getName();
				// try "get"
				if (methodName.startsWith("get")) {
					String testStdMethod = Introspector.decapitalize(methodName
							.substring(3));
					String testOldMethod = methodName.substring(3);
					if (testStdMethod.equals(propertyName)
							|| testOldMethod.equals(propertyName)) {
						return methods[i];
					}
				}

				// if not "get" then try "is"
				/*
				 * boolean isBoolean =
				 * methods[i].getReturnType().equals(Boolean.class) ||
				 * methods[i].getReturnType().equals(boolean.class);
				 */
				if (methodName.startsWith("is")) {
					String testStdMethod = Introspector.decapitalize(methodName
							.substring(2));
					String testOldMethod = methodName.substring(2);
					if (testStdMethod.equals(propertyName)
							|| testOldMethod.equals(propertyName)) {
						return methods[i];
					}
				}
			}
		return null;
	}

	public static void main(String[] args) {
		System.out.println(getterMethod(BaseWebNews.class,"nType"));
	}
}






这里有点介绍http://www.iteye.com/topic/88921这里有点介绍http://www.iteye.com/topic/6696
分享到:
评论
2 楼 frogking 2009-12-15  
我没有明白楼主的意思啊?
1 楼 huyaohua 2009-12-15  
建议你读读JavaBean的规范

相关推荐

    Hibernate实体映射

    本资源“Hibernate实体映射”提供了一个深入理解这一关键概念的机会,通过实例代码和教程笔记,帮助学习者更好地掌握Hibernate的核心功能。 一、Hibernate实体映射基础 在Hibernate中,实体映射是将Java对象模型与...

    hibernate实体映射文件字段设置默认值

    ### Hibernate实体映射文件字段设置默认值 在Hibernate框架中,实体映射文件(通常为`.hbm.xml`)用于定义Java对象与数据库表之间的映射关系。这其中包括了属性到数据库表列的映射、主键生成策略、以及一些高级特性...

    Hibernate 实体映射实例

    注:为节省空间,程序中需要的jar包,均在HibernateManytoManyMapCascadingSave.zip\HibernateManytoManyMapCascadingSave\lib\ &lt;br&gt;Hibernate 多对多实体映射实例 &lt;br&gt;学习Hibernate 实体映射的映射的好帮手...

    自动生成hibernate映射文件和实体类

    "自动生成 Hibernate 映射文件和实体类" 自动生成 Hibernate 映射文件和实体类是使用 MyEclipse 工具来实现的,这可以大大提高开发效率,减少开发时间。下面将详细介绍如何使用 MyEclipse 自动生成 Hibernate 映射...

    hibernate 映射关系学习入门 多对多实体映射

    本教程将带你入门Hibernate的多对多实体映射,帮助你理解如何通过源码来实现这种复杂的关系映射。 一、Hibernate概述 Hibernate是一个对象关系映射(ORM)框架,它允许我们将Java对象(实体)与数据库表进行映射,...

    hibernate实体关联关系映射

    ### Hibernate实体关联关系映射详解 #### 一、引言 Hibernate作为一种强大的对象关系映射(Object Relational Mapping,简称ORM)框架,在Java开发领域扮演着极其重要的角色。它不仅简化了持久化层的开发工作,...

    Hibernate继承映射代码

    这些代码可能包括实体类定义、映射文件(如.hbm.xml或使用注解的类)、Hibernate配置文件(hibernate.cfg.xml)以及C3P0的配置部分。通过对这些代码的学习和分析,我们可以更深入地理解如何在实际项目中运用这些技术...

    Hibernate生成映射文件和实体类

    教你如何用Hibernate生成映射文件和实体类,简单方便。

    hibernate关联映射实例

    在Java企业级开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨“hibernate关联映射实例”中的关键知识点,包括一对多、多对多和继承映射,这些都是Hibernate中...

    hibernate学习入门一对多实体映射源码

    在这个“hibernate学习入门之一对多实体映射源码”教程中,我们将深入探讨如何在Hibernate中设置和管理一对多的关系。 一、Hibernate简介 Hibernate是Java开发人员用于处理数据库操作的强大工具,通过它,我们可以...

    Spring+Hibernate 自动映射

    5. **实体类和映射**:定义Java实体类,并通过Hibernate的注解或者XML文件进行映射。 6. **使用Spring管理SessionFactory和Session**:通过@Autowired或@Resource注解,Spring可以将SessionFactory注入到需要的地方...

    java根据实体类生成Hibernate映射文件

    映射文件是Hibernate中的关键元素,它定义了Java实体类与数据库表之间的对应关系。本主题将深入探讨如何根据Java实体类自动生成Hibernate的映射文件,这对于不使用MyEclipse等集成开发环境的开发者来说尤其实用。 ...

    Hibernate实体关系映射

    Hibernate实体关系映射

    Hibernate集合映射与关联关系

    在IT行业中,数据库管理和对象关系映射(ORM)框架是至关重要的部分,特别是对于Java开发者而言,Hibernate是一个广泛使用的ORM工具。本主题将深入探讨Hibernate集合映射与关联关系,包括"student与Score的Map集合...

    [原]Hibernate集合映射

    《Hibernate集合映射详解》 Hibernate作为Java领域中的一款强大持久化框架,其核心功能之一就是对象关系映射(ORM),使得开发者可以方便地在Java对象与数据库表之间进行交互。其中,集合映射是Hibernate中非常关键...

    Hibernate 注解映射

    Hibernate 注解映射是 Hibernate 框架中的一种映射方式,它使用 Java 注解来描述实体类和数据库表之间的映射关系,提高开发效率。 一、 环境搭建和基本映射 在使用 Hibernate 注解映射之前,需要添加相关的 jar 包...

    Myeclipse自动生成Hibernate配置文件及实体类映射ORM

    Myeclipse 自动生成 Hibernate 配置文件及实体类映射 ORM 配置文件 Myeclipse 是一个功能强大的集成开发环境(IDE),它提供了许多实用的功能来简化软件开发过程。在这个示例中,我们将展示如何使用 Myeclipse 自动...

    Hibernate高级映射实例

    本实例主要探讨的是Hibernate的高级映射技术,包括单向一对一、单向多对一、单向一对多以及单向多对多这四种关系映射。 首先,我们来理解一下什么是映射。在Hibernate中,映射是将对象模型与关系数据库之间的桥梁,...

    Hibernate实体关系映射(new).ppt

    Hibernate实体关系映射 一对一关系 一对多关系 多对多关系Hibernate实体关系映射

Global site tag (gtag.js) - Google Analytics