Spring整合JPA时,为实体类添加@Entity注解时提示The type MultipartEntity is deprecated
这个情况是由于导入错了Entity包所导致的。
按住Alt+T时,会有两个关于@Entity的提示 org.hibernate.annotations.Entity 和 javax.persistence.Entity,我们应该使用javax.persistence.Entity。此时就不会出现过时的提示。
@org.hibernate.annotations.Entity 和 @javax.persistence.Entity 的区别:
JPA的Entity类和Hibernate的Entity类都符合Java对象的POJO模型,具体定义如下:
1) JPA 2.1规范的Entity类
Entity类必须被明确声明,这可以通过@javax.persistence.Entity标注或者XML配置文件。
Entity类必须是top-level的类。
为了支持运行时动态代理实现的延迟加载,Entity类必须定义一个public或protected的无参数的构造函数,还可以有其他构造函数。
为了支持运行时动态代理实现的延迟加载,Entity类不能是final的,其中的方法或实例变量都不能是final的。
如果Entity类的对象可能会被远程调用,则Entity类还必须实现java.io.Serializable接口。
Entity类可以是抽象类。Entity类可以继承非Entity类和Entity类,而非Entity类也可以继承Entity类。
Enum或接口不能被声明为Entity。
Entity类的持久化状态是通过Entity类的实例变量表示的。实例变量只能通过Entity类中的方法访问。
2) Hibernate的Entity类基本与JPA 2.1规范的Entity类类似,只有如下区别
Entity类必须定义一个非private(即可以是public、protected或默认)的无参数的构造函数,还可以有其他构造函数。
Entity类不必是top-level的类。
Entity类不必是final的,其中的方法或实例变量也不必是final的。但如果是final的,则无法利用代理的延迟加载功能。
Entity类的实例变量可以被Entity类之外的其他方法访问
Always import @javax.persistence.Entity
@org.hibernate.annotations.Entity是@javax.persistence.Entity的一个补充,但不是后者的替代品
如果想使用@org.hibernate.annotations.Entity所包含的特殊的功能的话,需要在添加@javax.persistence.Entity的基础上增加注释,如下:
//optimisticLock 乐观锁
@Entity
@org.hibernate.annotations.Entity(optimisticLock=OptimisticLockType.ALL)
public class MyEntity implements Serializable {
...
}
Hibernate5-Entity
Spring整合JPA时,为实体类添加@Entity注解时提示The type MultipartEntity is deprecated的更多相关文章
- Spring Data JPA 多个实体类表联合视图查询
Spring Data JPA 查询数据库时,如果两个表有关联,那么就设个外键,在查询的时候用Specification创建Join 查询便可.但是只支持左连接,不支持右连接,虽说左右连接反过来就能实 ...
- 使用jpa时,实体类有不存在数据库中的字段
使用jpa时,实体类有不存在数据库中的字段.在改属性上面加上这个注解@Transient就可以解决问题.
- Spring 整合 JPA
spring 整合 jpa 客户的基本CRUD 依赖 <properties> <spring.version>4.2.4.RELEASE</spring.version ...
- Entity Framework中的实体类添加复合主键
使用Code First模式实现给实体类添加复合主键,代码如下: using System; using System.Collections.Generic; using System.Compon ...
- Java定义bean实体类中的变量时变量名的问题
首先:TMD,这个问题花了我两个多小时,居然是因为一个字母的大小写导致的,我瞬间就&Y^%^&%&()*%¥%¥¥&^#@%&; 事情是酱紫的: 我定义了一个变 ...
- 当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出?
当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出? 问题: orderStatus 和 payStatus都是枚举类,并且枚举的个数达地10来个,我们不可能在模板页面(jsp/ftl ...
- 项目实体类使用@Data注解,但是项目业务类中使用getA(),setA()方法报错,eclipse中配置lombok
@Data注解来源与Lombok,可以减少代码中大量的set get方法,大量减少冗余代码,但是今天部署项目时候,发现实体类使用@Data注解,但是项目业务类中使用getA(),setA()方法报错. ...
- 【spring data jpa】使用spring data jpa 的删除操作,需要加注解@Modifying @Transactional 否则报错如下: No EntityManager with actual transaction available for current thread - cannot reliably process 'remove' call
使用spring data jpa 的删除操作,需要加注解@Modifying @Transactional 否则报错如下: No EntityManager with actual tran ...
- 【hibernate/JPA】对实体类的的多个字段建立唯一索引,达到复合主键的效果【spring boot】注解创建唯一索引和普通索引
对实体类的的多个字段建立唯一索引,达到复合主键的效果 package com.sxd.swapping.domain; import lombok.Getter; import lombok.Sett ...
随机推荐
- Elasticsearch-PHP 快速开始
快速开始 本章节会给你一个客户端的主要功能(函数)是如何工作的快速概述. 安装 引入(包含)elasticsearch-php 在你的 composer.json 文件: { "requir ...
- failed to open stream: No such file or directory 报错解决方法
1.首先检查是否是文件名错误(比如有空格):是否因为路径不完整(比如缺少http://,或者缺少文件扩展名.doc等): 2.若是在本地中文名文件打开报错,我就是因为编码不一致导致: Windows中 ...
- 改bug的乐趣
一直以来,我都不喜欢改bug,不管是自己的,还是别人的.因为我不相信自己的代码会出现问题,一旦出现问题我就会觉得很难堪,因为我觉得我的代码没什么问题.然后我就不知道该怎么来解决这些问题. 最近这一两次 ...
- nodemon 的坑
1. 我的系统是ubuntu18.04.2 的 在使用过程中不知道什么为题 nodemon 运行的项目不在前台打印了项目, 我监听的端口 9302 一直在运行, 前台看不到 我想停止掉用 ps -ef ...
- DBArtist之Oracle入门第3步: 安装配置PL/SQL Developer
操作系统: WINDOWS 7 (64位) 数据库: Oracle 11gR2 (64位) PL/SQL Developer : PL/SQL ...
- ubuntu Qt5 librealsense opencv
08:11:47: 进程"/usr/bin/make"正常退出. 08:11:47: 配置没有改变, 跳过 qmake 步骤. 08:11:47: 正在启动 "/usr/ ...
- KVM下raw和qcow2格式磁盘文件IO测试
1. Host OS 环境 CPU: Intel Xeon E5620 2.40GHz MEM: 16GB DISK: 500GB SATA OS: CentOS5.7 64bit 2. Guest ...
- msyql中子查询IN,EXISTS,ANY,ALL,SOME,UNION介绍
1.ANY关键字 假设any内部的查询语句返回的结果个数是三个,如:result1,result2,result3,那么, select ...from ... where a > any(.. ...
- nhibernate 3.x新特性
http://www.360doc.com/content/14/0226/17/9316347_355904008.shtml
- u盘安装Linux系统详细教程
2012-05-06 02:30:44 分类: LINUX 想不想体验一下Linux下呢?刻盘太浪费钱,而U盘却可以多次利用.本文就是要介绍如何通过U盘安装Linux系统的.只要用Universal- ...