`
ll_feng
  • 浏览: 387306 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于使用注解映射的一些问题

阅读更多
问题一:
如果实体继承一个超类,在持久化时报:org.hibernate.AnnotationException: No identifier specified for entity。。。
经查找,原因是继承的问题,应在超类上加注:@MappedSuperclass

问题二:
实体继承一个超类,持久化时没有任何异常,但对象并没有保存。
这是可能是超类不是抽象的。必须将被继承的超类声明为abstract.
@MappedSuperclass
public abstract class BaseEntity implements Serializable {

	// pk
	protected String id;

	@Id
	@GenericGenerator(name = "generator", strategy = "uuid")
	@GeneratedValue(generator = "generator")
	@Column(name = "ID", unique = true, nullable = false, length = 32)
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		final BaseEntity other = (BaseEntity) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	}

	@Override
	public String toString() {
		String name = this.getClass().getName();
		
		if (id == null) {
			return name + "(Unpersisted Entity)";
		} else {
			return name + "(id=" + id.toString() + ")";
		}
	}
}
分享到:
评论

相关推荐

    Hibernate 注解映射

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

    poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值)

    poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值), poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值) poi导出导入封装(使用注解建立实体与excel映射关系+反射设置...

    让Hibernate同时支持xml和注解两种映射方式

    但有时候,根据项目需求,可能需要同时使用XML和注解映射。在这种情况下,我们需要进行一些特殊配置来实现这一目标。 首先,让我们理解Spring框架如何与Hibernate集成。Spring提供了`LocalSessionFactoryBean`用于...

    Hibernate注解 关联关系映射注解.docx

    本篇文章将详细探讨在Hibernate中如何使用注解来处理各种关联关系,特别是`mappedBy`属性的用法。 首先,`@OneToMany`注解用于表示一对多的关联关系,比如一个班级可以有多个学生。在单向关联中,我们通常在拥有...

    注解框架实体类映射

    在“注解框架实体类映射”中,我们通常指的是使用Java注解来定义实体类与数据库表之间的关系。这种方式避免了传统的XML配置文件,使得代码更加简洁且易于维护。Hibernate支持多种注解,如@Entity表示该类为数据库表...

    MyBatis注解配置映射器:一对一关系的实现

    MyBatis注解配置映射器是MyBatis框架中的一种简化XML配置的手段,它允许开发者在Java类或接口上直接使用注解来定义SQL语句和映射规则。在一对一关系的实现中,MyBatis注解可以帮助我们轻松处理两个实体类之间的一对...

    Hibernate注解映射联合主键

    在Hibernate中,有三种主要的注解方式来映射联合主键,以下是对这三种方式的详细解释: 1. **使用`@Embeddable`和`@Id`** 在这种映射方式中,联合主键的字段被放在一个单独的类中,这个类需要实现`java.io....

    使用注解javaBean关联数据库字段

    在JavaBean中使用注解,可以极大地简化对象与数据库之间的映射,使得数据访问更加便捷。这种技术通常在Java持久层框架如Hibernate或MyBatis中被广泛应用。 1. **注解的优势**: - **简化代码**:使用注解,开发者...

    Java 使用注解拼接SQL语句

    "Java使用注解拼接SQL语句"是一个常见的实践,它使得动态构建SQL查询变得更为简洁和可维护。这种技术通常与ORM(对象关系映射)框架如MyBatis或Hibernate结合使用,但也可以通过自定义处理逻辑实现。 1. **自定义...

    MyBatis注解配置映射器:动态SQL的实现

    在MyBatis中,我们可以使用注解在接口方法上直接定义SQL语句,这种方式简洁且易于理解。例如,我们可以在Mapper接口中使用`@Select`、`@Insert`、`@Update`和`@Delete`注解分别对应SQL的查询、插入、更新和删除操作...

    使用Hibernate逆向生成实体类的方法(注解和hbm.xml映射文件)

    本文将详细介绍如何利用Hibernate逆向生成实体类的方法,包括通过注解映射以及hbm.xml文件映射两种方式。 #### 一、环境准备与配置 1. **安装并配置MyEclipse**: - 安装MyEclipse,并确保已安装Hibernate插件。 ...

    Hibernate双向一对一关联映射(注解版)

    本主题聚焦于“Hibernate双向一对一关联映射”的注解实现,这是一种高级的数据库设计模式,用于处理两个实体之间一对一的关系。 在Hibernate中,一对一关联映射分为单向和双向。单向一对一映射通常涉及一个实体持有...

    Android-一个以注解方式实现的路由映射解决方案基于sourcegen

    基于注解的路由映射是一种高效且灵活的方法,它允许开发者在编译时通过注解定义路由规则,而不是在运行时动态解析。本方案是“Android-一个以注解方式实现的路由映射解决方案”,基于source_gen库,它在构建过程中...

    Hibernate一对一关联映射(注解)

    综上所述,Hibernate的一对一关联映射通过注解方式提供了便捷的数据库表与Java对象之间的绑定,理解并正确使用这些注解对于优化数据访问性能、保证数据一致性至关重要。在设计数据库模型时,应充分考虑实体之间的...

    使用Spring 2.5 基于注解驱动的 Spring MVC详解

    本文将介绍 Spring 2.5 新增的 Spring MVC 注解功能,讲述如何使用注解配置替换传统的基于 XML 的 Spring MVC 配置。 Spring MVC 注解驱动 在 Spring 2.5 中,Spring MVC 框架引入了注解驱动功能,使得开发者可以...

    MyBatis注解配置映射器:一对多关系的实现

    本文将深入探讨如何使用MyBatis的注解配置来实现一对多关系映射,以此来提高开发效率并减少代码冗余。 首先,我们需要理解一对多关系的概念。在数据库设计中,一对多关系表示一个表中的记录可以对应另一个表中的多...

    hibernate注解处理映射关系共14页.pdf.zip

    2. **注解基础**:在Hibernate 3.2版本之后,引入了注解支持,使得无需XML配置文件,开发者可以直接在类和属性上使用注解来定义映射规则。常见的注解包括@Entity、@Table、@Id、@GeneratedValue等。 3. **实体类...

    注解配置SQL映射器(简单的增删改查)

    本文将深入探讨如何使用MyBatis的注解配置SQL映射器,以便进行基本的增删改查操作。这在中小型项目中尤其常见,因为它降低了XML配置的复杂性,提高了代码的可读性和维护性。 首先,让我们了解MyBatis注解的基本概念...

    hibernate双向多对多关联映射(注解版)

    在这个“hibernate双向多对多关联映射(注解版)”的主题中,我们将深入探讨如何使用Hibernate的注解配置来处理数据库中的双向多对多关联关系。 首先,多对多关联在数据库设计中是指两个实体之间存在多个对应关系,...

Global site tag (gtag.js) - Google Analytics