使用JPA的时候,都有对象和数据库表映射的步骤,我在开发过程中遇到一个问题就是MYSQL中,一个text字段无法和对象中的String类型对应,所以无法正常工作,在网上找了些解决方法,都提到了hibernate.dialect这个东西,但是不知道为什么,我采用这些解决办法时都不成功,我用的组合是struts2.1.6 + spring2 + JPA。
没办法,根据栈的提示信息,把相关类的源代码看了看,终于找到了适合我的结构的解决办法。
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter">
<bean
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="database" value="MYSQL" />
<property name="showSql" value="true" />
<property name="databasePlatform" value="ExtendedDialect" />
</bean>
</property>
</bean>
就是这一项
<property name="databasePlatform" value="ExtendedDialect" />
ExtendedDialect的实现方法如下。
public ExtendedDialect()
{
super();
//registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName());
registerHibernateType(-1, Hibernate.STRING.getName());
//registerHibernateType(, Hibernate.INTEGER.getName());
}
分享到:
相关推荐
**Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的对象-关系映射(ORM)。它提供了一种方式,让开发者可以用面向对象的编程模型来操作数据库,而无需直接编写SQL语句。JPA允许你在...
JPA是一个Java API,它提供了一种对象关系映射(ORM)机制,允许开发者使用Java对象来访问关系数据库。 在Spring Boot应用程序中,使用JPA可以简化数据访问层的开发,并提供了许多有用的功能,例如自动生成SQL语句...
Spring框架与Java Persistence API (JPA)的结合使用是当前企业级应用开发中的常见实践之一。Spring为JPA提供了很好的集成支持,使得开发者能够更加方便地管理持久层逻辑。 #### 二、所需依赖库(JAR包) 在项目中...
Spring Data JPA 是基于 JPA 规范的一个扩展框架,它极大地简化了数据访问层的编码工作量。以下是从 Spring Data JPA 参考文档中提炼出的重要知识点: 1. **项目元数据**:提供了关于项目的版本、作者等基本信息。 ...
在一对一关联中,一个实体对应另一个实体的唯一实例。这种关系可以通过在实体类中定义注解来实现。JPA提供了`@OneToOne`注解来声明这种关系。接下来,我们将深入探讨如何配置和使用JPA的一对一关联。 首先,我们...
例如,一个人可能只有一个护照,或者一个公司只有一份营业执照。在JPA中,我们可以通过注解来配置这种关系。 首先,我们需要在实体类上使用`@OneToOne`注解来声明一对一关系。这个注解可以放在属性上,也可以放在...
Java 持久化 API(Java Persistence API),简称 JPA,是 Java 平台上的一个标准,用于管理关系数据库中的数据。JPA 提供了一种面向对象的方式来操作数据库,使得开发人员可以使用 Java 对象来直接操作数据,而无需...
Spring Data JPA是Spring Framework的一个模块,它简化了JPA的使用,提供了诸如查询生成、存储过程支持等功能。 使用JPA的步骤如下: 1. 添加依赖:在`pom.xml`文件中添加Spring Data JPA和所选数据库驱动的依赖。 ...
**JPA(Java Persistence API)**是Java平台上的一个标准,用于管理关系数据库中的数据,它简化了在Java应用程序中存储、检索和管理对象的工作。JPA是Java EE和Java SE环境中的一种ORM(Object-Relational Mapping)...
OpenJPA,全称Open Java Persistence API,是Java平台上的一个开源对象关系映射(ORM)框架,它实现了Java Persistence API(JPA),用于管理Java应用程序中的持久化数据。在这个"openjpademo"示例中,我们将会探讨...
1. **实体(Entity)**: 在JPA中,一个实体类代表数据库中的一个表。要声明一个类为实体,需要使用`@Entity`注解。例如: ```java @Entity public class User { // ... } ``` 这个User类将会对应数据库中的一个用户...
通过在类上使用`@Entity`注解,JPA知道这个类是一个实体。 3. **实体管理器(EntityManager)**: 这是JPA的核心组件,负责处理实体的生命周期,如创建、查询、更新和删除实体。 4. **实体管理工厂...
JPA用于整合现有的ORM技术,可以简化现有Java EE和Java SE应用对象持久化的开发工作,实现ORM的统一。JPA详解视频教程 第18讲 使用jpa映射单个实体对象.avi
1. **一对一(OneToOne)映射**:一个实体对象对应数据库中的一个记录。通过`@OneToOne`注解来实现,可以是单向或双向。`@JoinColumn`用于指定外键所在的字段,`@MapsId`则表明关联对象的主键就是当前对象的主键。 ...
在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式处理数据库操作。而JPA(Java Persistence API)是Java标准,为ORM提供了一个统一的API。当我们将Hibernate与JPA...
Java Persistence API(JPA)是Java平台上的一个标准,用于管理和持久化Java对象到关系数据库。它提供了一种面向对象的方式来操作数据库,使得开发人员可以专注于业务逻辑,而不是底层的SQL操作。JPA通过ORM(Object...
接下来,定义一个实体类,例如`User.java`,并使用`@Entity`注解标记为JPA实体: ```java @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private ...
例如,`@Entity`表示一个类是实体,`@Id`表示主键字段,`@ManyToOne`表示多对一的关系等。 4. **缓存机制**:JPA提供了一级缓存和二级缓存,分别用于缓存实体对象和查询结果,提高应用程序的性能。 5. **事件监听器*...
OpenJPA(Java Persistence API)则是Java平台上的一个ORM(对象关系映射)工具,它实现了JSR-317规范,使得开发者可以方便地在Java应用程序中操作数据库。本篇将详细讲解如何在Spring项目中集成并使用OpenJPA。 ...
对于在OSGi平台上的JPA应用而言,需要一个持久化服务,它能够满足OSGi环境的特点,例如需要在OSGi服务注册表中注册数据源服务(JDBC DataSource Service)和JPA提供者服务(JPA Provider Service),以便在OSGi环境...