- 浏览: 7330863 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
@Column
默认情况下,JPA 持续性提供程序假设每个实体的持久字段存储在其名称与持久字段的名称相匹配的数据库表列中。
使用 @Column
批注:
-
将持久字段与其他名称关联(如果默认列名难于处理、与事先存在的数据模型不兼容或作为数据库中的列名无效)
-
将持久字段与辅助表中的列关联(请参阅 @SecondaryTable )
-
微调数据库中列的特征
表 1-7 列出了此批注的属性 API 。
。有关更多详细信息,请参阅
表 1-7 @Column 属性
|
|
默认值 :空 默认情况下,JPA 使用最少量 SQL 创建一个数据库表列。 如果需要使用更多指定选项创建的列,请将 注意 :捕获批注中的 DDL 信息时,某些 JPA 持续性提供程序可以在生成数据库模式时使用此 DDL。例如,请参阅“用于 Java2DB 模式生成的 TopLink JPA 扩展” 。 |
|
|
默认值 : 默认情况下,JPA 持续性提供程序假设所有列始终包含在 如果该列不应包含在这些语句中,请将 |
|
|
默认值 : 255 默认情况下,JPA 持续性提供程序假设所有列在用于保存 如果该列不适合于您的应用程序或数据库,请将 |
|
|
默认值 :JPA 持续性提供程序假设实体的每个持久字段都存储在其名称与持久字段或属性的名称相匹配的数据库表列中。 要指定其他列名,请将 |
|
|
默认值 : 默认情况下,JPA 持续性提供程序假设允许所有列包含空值。 如果不允许该列包含空值,请将 |
|
|
默认值 : 0. 默认情况下,JPA 持续性提供程序假设所有列在用于保存十进制(精确数字)值时的精度为 0。 如果该精度不适合于您的应用程序或数据库,请将 |
|
|
默认值 : 0. 默认情况下,JPA 持续性提供程序假设所有列在用于保存十进制(精确数字)值时的伸缩度为 0。 如果该伸缩度不适合于您的应用程序或数据库,请将 |
|
|
默认值 :JPA 持续性提供程序假设实体的所有持久字段都存储到一个其名称为实体名称的数据库表中(请参阅 @Table )。 如果该列与辅助表关联(请参阅 @SecondaryTable ),请将 |
|
|
默认值 : 默认情况下,JPA 持续性提供程序假设允许所有列包含重复值。 如果不允许该列包含重复值,请将 |
|
|
默认值 : 默认情况下,JPA 持续性提供程序假设列始终包含在 如果该列不应包含在这些语句中,请将 |
示例 1-8 显示了如何使用此批注使 JPA 将
empId
持久保存到辅助表 EMP_HR
中的列 EMP_NUM
。默认情况下,JPA 将 empName
持久保存到主表 Employee
中的列 empName
。
示例 1-8 @Column
@Entity @SecondaryTable(name="EMP_HR") public class Employee implements Serializable { ... @Column(name="EMP_NUM", table="EMP_HR") private Long empId; private String empName; ... }
@ColumnResult
执行
使用 @ColumnResult
批注返回标量值。标量类型由您在 @ColumnResult
中标识的列类型确定。
有关详细信息,另请参阅 @EntityResult 、@FieldResult 和 @SqlResultSetMapping 。
表 1-8 列出了此批注的属性 API 。
。有关更多详细信息,请参阅
表 1-8 @ColumnResult 属性
|
|
在原生 SQL 查询的 |
示例 1-9 显示了如何使用此批注将
Item
(请参阅示例 1-10 )标量 name
包含在结果列表(请参阅示例 1-11 )中。在该示例中,结果列表将为 Object
数组的 List
,如:{[Order, "Shoes"], [Order, "Socks"], ...}
。
示例 1-9 使用 @ColumnResult 的 Order 实体
@SqlResultSetMapping( name="OrderResults", entities={ @EntityResult( entityClass=Order.class, fields={ @FieldResult(name="id", column="order_id"), @FieldResult(name="quantity", column="order_quantity"), @FieldResult(name="item", column="order_item") } ) }, columns={ @ColumnResult( name="item_name" ) } ) @Entity public class Order { @Id protected int id; protected long quantity; protected Item item; ... }
示例 1-10 Item 实体
@Entity public class Item { @Id protected int id; protected String name; ... }
示例 1-11 结合使用 @SqlResultSetMapping 与 @ColumnResult 的原生查询
Query q = entityManager.createNativeQuery( "SELECT o.id AS order_id, " + "o.quantity AS order_quantity, " + "o.item AS order_item, " + "i.name AS item_name, " + "FROM Order o, Item i " + "WHERE (order_quantity > 25) AND (order_item = i.id)", "OrderResults" ); List resultList = q.getResultList(); // List of Object arrays:{[Order, "Shoes"], [Order, "Socks"], ...}
@DiscriminatorColumn
默认情况下,当
使用 @DiscriminatorColumn
批注:
-
指定一个标识符列名(如果数据模型中的列名不是默认列名
DTYPE
)。 -
指定一个适用于应用程序或事先存在的数据模型的标识符列长度
-
微调数据库中的标识符列的特征
表 1-9 列出了此批注的属性 API 。
。有关更多详细信息,请参阅
表 1-9 @DiscriminatorColumn 属性
|
|
默认值 :空 默认情况下,JPA 持续性提供程序使用最少量 SQL 创建一个数据库表列。 如果需要使用更多指定选项创建的列,请将 |
|
|
默认值 : 默认情况下,JPA 持续性提供程序假设标识符类型为 如果要使用其他类型,请将 您的 @DiscriminatorValue 必须符合此类型。 |
|
|
默认值 : 31 默认情况下,JPA 持续性提供程序假设标识符列在用于保存 如果该列不适合于您的应用程序或数据库,请将 您的 @DiscriminatorValue 必须符合此长度。 |
|
|
默认值 :JPA 持续性提供程序假设标识符列名为“ 要指定其他列名,请将 |
示例 1-12 显示了如何使用此批注指定一个名为
DISC
、类型为 STRING
、长度为 20 的标识符列。在本示例中,该类的 @DiscriminatorValue 指定为 CUST
。示例 1-13 中的子类将它自己的 @DiscriminatorValue 指定为 VIP
。在 Customer
和 ValuedCustomer
中,@DiscriminatorValue 的值必须可以转换为由 @DiscriminatorColumn 属性 discriminatorType
指定的类型,并且必须符合 @DiscriminatorColumn 属性 length
。
示例 1-12 @DiscriminatorColumn 和 @DiscriminatorValue — 根类
@Entity @Table(name="CUST") @Inheritance(strategy=SINGLE_TABLE) @DiscriminatorColumn(name="DISC", discriminatorType=STRING, length=20) @DiscriminatorValue(value-"CUST") public class Customer { ... }
示例 1-13 @DiscriminatorValue — 子类
@Entity @DiscriminatorValue(value="VIP") public class ValuedCustomer extends Customer { ... }
@DiscriminatorValue
默认情况下,当
使用 @DiscriminatorValue
批注指定用于区分此继承层次中的实体的标识符值:
-
如果实体名称不适合于此应用程序
-
匹配现有的数据库模式
表 1-10 列出了此批注的属性 API 。
。有关更多详细信息,请参阅
表 1-10 @DiscriminatorValue 属性
|
|
将 |
示例 1-14 显示了如何使用此批注指定一个名为
DISC
、类型为 STRING
、长度为 20 的标识符列。在本示例中,该类的 @DiscriminatorValue 指定为 CUST
。示例 1-15 中的子类将它自己的 @DiscriminatorValue 指定为 VIP
。在 Customer
和 ValuedCustomer
中,@DiscriminatorValue 的值必须可以转换为由 @DiscriminatorColumn 属性 discriminatorType
指定的类型,并且必须符合 @DiscriminatorColumn 属性 length
。
示例 1-14 @DiscriminatorColumn 和 @DiscriminatorValue — 根类
@Entity @Table(name="CUST") @Inheritance(strategy=SINGLE_TABLE) @DiscriminatorColumn(name="DISC", discriminatorType=STRING, length=20) @DiscriminatorValue(value-"CUST") public class Customer { ... }
示例 1-15 @DiscriminatorValue — 子类
@Entity @DiscriminatorValue(value="VIP") public class ValuedCustomer extends Customer { ... }
@Embeddable
默认情况下,JPA 持续性提供程序假设每个实体均持久保存到它自己的数据库表。
使用 @Embeddable
批注指定一个类,该类的实例存储为拥有实体的固有部分并共享该实体的身份。嵌入对象的每个持久属性或字段都将映射到实体的数据库表。
此批注没有属性。有关更多详细信息,请参阅
示例 1-16 显示了如何使用此批注指定:类 EmploymentPeriod
在用作批注为 @Embedded 的持久字段的类型时可以嵌套到实体中(请参阅示例 1-17 )
示例 1-16 @Embeddable
@Embeddable public class EmploymentPeriod { java.util.Date startDate; java.util.Date endDate; ... }
@Embedded
默认情况下,JPA 持续性提供程序假设每个实体均持久保存到它自己的数据库表。
使用 @Embedded
批注指定一个持久字段,该字段的
可以结合使用 @Embedded
和 @Embeddable 以建立严格所有权关系的模型,以便在删除了拥有对象的情况下还将删除被拥有的对象。
嵌入的对象不应映射到多个表。
默认情况下,@Embeddable 类中指定的列定义(请参阅 @Column )适用于 @Embedded
类。如果要覆盖这些列定义,请使用 @AttributeOverride 。
此批注没有属性。有关更多详细信息,请参阅 API 。
示例 1-17 显示了如何使用该批注指定:@Embeddable 类 EmploymentPeriod
(请参阅示例 1-16 )可以使用指定的属性覆盖(请参阅 @AttributeOverride )嵌入到实体类中。如果不需要属性覆盖,则可以完全忽略 @Embedded
批注:JPA 持续性提供程序将推断出 EmploymentPeriod
是从它的 @Embeddable 批注进行嵌套。
示例 1-17 @Embedded
@Entity public class Employee implements Serializable { ... @Embedded @AttributeOverrides({ @AttributeOverride(name="startDate", column=@Column("EMP_START")), @AttributeOverride(name="endDate", column=@Column("EMP_END")) ) public EmploymentPeriod getEmploymentPeriod() { ... } ... }
@EmbeddedId
使用 @EmbeddedId
批注指定一个由实体拥有的可嵌入复合主键类(通常由两个或更多基元类型或 JDK 对象类型组成)。从原有数据库映射时(此时数据库键由多列组成),通常将出现复合主键。
复合主键类具有下列特征:
-
它是一个普通的旧式 Java 对象 (POJO) 类。
-
它必须为 public,并且必须有一个 public 无参数构造函数。
-
如果使用基于属性的访问,则主键类的属性必须为 public 或 protected。
-
它必须是可序列化的。
-
它必须定义
equals
和hashCode
方法。这些方法的值相等性的语义必须与键映射到的数据库类型的数据库相等性一致。
或者,您可以使复合主键类成为非嵌入类(请参阅
此批注没有属性 API 。
。有关更多详细信息,请参阅
示例 1-18 显示了一个批注为 @Embeddable 的典型复合主键类。示例1-19 显示了如何使用可嵌入的复合主键类(使用 @EmbeddedId
批注)配置一个实体。
示例 1-18 可嵌入复合主键类
@Embeddable public class EmployeePK implements Serializable { private String name; private long id; public EmployeePK() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public long getId() { return id; } public void setId(long id) { this.id = id; } public int hashCode() { return (int) name.hashCode() + id; } public boolean equals(Object obj) { if (obj == this) return true; if (!(obj instanceof EmployeePK)) return false; if (obj == null) return false; EmployeePK pk = (EmployeePK) obj; return pk.id == id && pk.name.equals(name); } }
示例 1-19 @EmbeddedId
@Entity public class Employee implements Serializable { EmployeePK primaryKey; public Employee() { } @EmbeddedId public EmployeePK getPrimaryKey() { return primaryKey; } public void setPrimaryKey(EmployeePK pk) { primaryKey = pk; } ... }
@Entity
使用 @Entity
批注将普通的旧式 Java 对象 (POJO) 类指定为实体,并使其可用于 JPA 服务。必须将 POJO 类指定为实体,然后才可以使用任何其他 JPA 批注。
表 1-11 @Entity 属性
|
|
默认值 :JPA 持续性提供程序假设实体名称是实体类的名称。在示例 1-20 中,默认 如果实体类名难于处理、是一个保留字、与事先存在的数据模型不兼容或作为数据库中的表名无效,请将 |
示例 1-20 显示了该批注的用法。
示例 1-20 @Entity
@Entity public class Employee implements Serializable { ... }
@EntityListeners
可以使用生命周期批注(请参阅
使用 @EntityListeners
批注将一个或多个实体监听程序类与 @Entity 或 @MappedSuperclass 关联,条件是您需要在指定的生命周期事件发生时执行逻辑,以及:
-
不希望在实体 API 中公开生命周期监听程序方法。
-
要在不同的实体类型之间共享生命周期监听程序逻辑。
当实体或子类上发生生命周期事件时,JPA 持续性提供程序将按监听程序定义的顺序通知每个实体监听程序,并调用使用相应的生命周期事件类型进行批注的实体监听程序方法(如果有)。
实体监听程序类具有以下特征:
-
它是一个普通的旧式 Java 对象 (POJO) 类
-
它有一个或多个具有以下签名的回调方法:
public void <MethodName>(Object)
可以指定参数类型
Object
,或实体监听程序将与其关联的实体类的类型。 -
它用一个或多个生命周期事件批注对每个回调方法进行批注。
一个生命周期事件只能与一个回调监听程序方法关联,但某个给定的回调监听程序方法可以与多个生命周期事件关联。
如果使用实体监听程序,则可以管理哪些实体监听程序使用 @ExcludeDefaultListeners 和 @ExcludeSuperclassListeners 调用。
表 1-12 列出了此批注的属性 API 。
。有关更多详细信息,请参阅
表 1-12 @EntityListeners 属性
|
|
要为 @Entity 或 @MappedSuperclass 指定实体监听程序类的列表,请将 |
示例 1-21 显示了如何使用此批注将实体监听程序类
EmployeePersistListener
(请参阅示例 1-22 )和 EmployeeRemoveListener
(请参阅示例 1-23 )与实体 Employee
关联。示例 1-23 显示了您可以将多个生命周期事件与给定的实体监听程序类方法关联,但任何给定的生命周期事件只能在实体监听程序类中出现一次。
示例 1-21 @EntityListeners
@Entity @EntityListeners(value={EmployeePersistListner.class, EmployeeRemoveListener.class}) public class Employee implements Serializable { ... }
示例 1-22 EmployeePersistListener
public class EmployeePersistListener { @PrePersist employeePrePersist(Object employee) { ... } ... }
示例 1-23 EmployeeRemoveListener
public class EmployeeRemoveListener { @PreRemove @PostRemove employeePreRemove(Object employee) { ... } ... }
@EntityResult
执行
使用 @EntityResult
批注返回实体。
有关详细信息,另请参阅 @ColumnResult 、@FieldResult 和 @SqlResultSetMapping 。
表 1-8 列出了此批注的属性 API 。
。有关更多详细信息,请参阅
表 1-13 @EntityResult 属性
|
|
将 |
|
|
默认值 :空 默认情况下,JPA 持续性提供程序假设 如果在 |
|
|
默认值 :空 默认情况下,JPA 持续性提供程序假设 如果 SELECT 语句只包含某些与返回的实体的字段或属性相对应的列,或 SELECT 语句中的列名并不对应于字段或属性名(使用了 |
示例 1-24 显示了如何使用此批注将
Order
和 Item
(请参阅示例 1-25 )实体包含在结果列表(请参阅示例 1-26 )中。在该示例中,结果列表将为 Object
数组的 List
,如:{[Order, Item], [Order, Item], ...}
。
示例 1-24 使用 @EntityResult 的 Order 实体
@SqlResultSetMapping( name="OrderResults", entities={ @EntityResult( entityClass=Order.class, fields={ @FieldResult(name="id", column="order_id"), @FieldResult(name="quantity", column="order_quantity"), @FieldResult(name="item", column="order_item") } ), @EntityResult( entityClass=Item.class, fields={ @FieldResult(name="id", column="item_id"), @FieldResult(name="name", column="item_name"), } ) } ) @Entity public class Order { @Id protected int id; protected long quantity; protected Item item; ... }
示例 1-25 Item 实体
@Entity public class Item { @Id protected int id; protected String name; ... }
示例 1-26 结合使用 @SqlResultSetMapping 与 @EntityResult 的原生查询
Query q = entityManager.createNativeQuery( "SELECT o.id AS order_id, " + "o.quantity AS order_quantity, " + "o.item AS order_item, " + "i.id AS item_id, " + "i.name AS item_name, " + "FROM Order o, Item i " + "WHERE (order_quantity > 25) AND (order_item = i.id)", "OrderResults" ); List resultList = q.getResultList(); // List of Object arrays:{[Order, Item], [Order, Item], ...}@Basic 一起使用。
API 。
。有关更多详细信息,请参阅 InheritanceType.SINGLE_TABLE
或 JOINED
时,JPA 持续性提供程序使用 @DiscriminatorColumn 按实体名称区分继承层次中的类(请参阅 @Entity )。InheritanceType.SINGLE_TABLE
或 JOINED
时,JPA 持续性提供程序将创建一个名为 DTYPE
的标识符列以区分继承层次中的类。发表评论
-
【转】在项目中使用多个数据源-多sessionFactory方案
2013-05-10 16:30 3126适用范围:适合SSH架构访问多个数据库, ... -
Hibernate使用中从数据库到模型的加载方式研究
2010-01-28 13:19 1962在项目中数据库中账单Bill一个字段是有多个订单id的以逗 ... -
hibernate中@Transient的使用
2010-01-19 15:20 10689项目中可能有许多实体的需要辅助的属性和方法辅助,hibe ... -
关于hibernate中注解和hbm共存时的加载规律
2010-01-19 15:13 3797项目中使用Spring2.5+hibern ... -
hibernate查询的使用的点滴积累
2010-01-09 13:04 1911/** * 前台查询酒店的级别,设备,类型 * * ... -
Hibernate 的HQL中一个经典函数elements的使用
2010-01-09 12:53 10340在传递索引和元素给集合时(elements and indic ... -
Hibernate关联查询中with的经典使用
2010-01-09 12:42 2211在项目采用Hibernate关联,采用关联使用比较简单,在关 ... -
判断数据库表每条记录中时间段是否在每一个时间段中
2010-01-09 12:35 3086项目中一个成品价格表,每条记录中的价格有一个使用时间 ... -
JPA 中注解一个父类中多个子类实现查询部分子类方法解决方法
2010-01-09 12:10 2069父类: @Entity@Inheritance(stra ... -
Hibernate调用执行存储过程
2010-01-09 12:03 2030项目中需要采用存 ... -
Hibernate的一个异常的解决方案
2009-12-05 11:01 2441在项目中使用HQL时的遇有多个类的嵌套比较发生的异常: ... -
Hibernate的事件和拦截器体系
2009-12-01 13:53 2357持久层框架底层的拦截器机制是对诸如Spring等业务管理容器拦 ... -
Hibernate的拦截器和监听器
2009-12-01 13:52 1973最近项目需要,用到了Hibernate的拦截器和监听器,有些小 ... -
Hibernate的拦截器和监听器
2009-12-01 13:50 3798项目采用Spring构建,持久层技术采用的是 JPA规范 + ... -
Hibernate的注解many-to-one
2009-11-28 12:12 23274項目中一個實例: ... -
Hibernate查询语言HQL 八大要点
2009-11-18 13:15 2010本文讲述Hibernate查询语言HQL。Hibernat ... -
条件查询(Criteria Queries
2009-11-18 13:14 1771... -
Hibernate查询语言(Query Language), 即HQL
2009-11-18 13:05 2475Hibernate查询语言(Query L ... -
Hibernate中的配置属性
2009-11-15 17:40 1756hbm2ddl.auto的使用配置说明: <!-- ... -
Hibernate JPA 的索引的使用
2009-11-15 17:30 11881在Hibernate中Model中一个对象关 ...
相关推荐
### JPA注解总结大全 Java Persistence API (JPA) 是一种用于管理关系数据库中的对象/关系映射的标准。本文将详细介绍与 JPA 相关的一些常用注解及其使用方法,帮助开发者更好地理解和掌握 JPA 的核心功能。 #### ...
### JPA注解实现联合主键 在关系型数据库中,单个字段作为主键的情况较为常见,但在某些场景下,我们需要使用多个字段共同作为主键来唯一标识表中的每一条记录,这就是所谓的“联合主键”。而在Java持久化框架...
Java 程序使用 JPA 注解详解 Java 持久层 API(Java Persistence API)是一种 Java 应用程序接口,用于访问、管理和持久化数据之间的关系。JPA 使用注解来定义实体类与数据库表之间的映射关系,本文将详细介绍 JPA ...
JPA注解详解 JPA(Java Persistence API)是Java企业版5(Java EE 5)的一部分,提供了一个对象关系映射方法,使得开发者可以使用声明方式定义如何将Java对象映射到关系数据库表。在JPA中,批注是一种使用元数据...
### JPA注解参考知识点详解 #### 一、引言 Java Persistence API(简称JPA)作为Java企业版5(Java EE 5)标准的一部分,是Enterprise JavaBeans(EJB)3.0规范的重要组成部分。它极大地简化了EJB持久化,并提供了...
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA支持XML和JDK5.0注解两种元数据的形式。 JPA的总体思想和现有Hibernate、TopLink、...
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA支持XML和JDK5.0注解两种元数据的形式。 JPA的总体思想和现有Hibernate、TopLink、...
JPA注解和Hibernate建表 一、JPA概述 Java Persistence API(JPA)是Sun官方提出的Java持久化规范,它只是一个规范不是一个产品。JPA的主要目标是提供一种简洁、易用的方式来访问、操作和管理Java应用程序中的数据...
Java 程序使用 JPA 注解详解 Java 程序使用 JPA 注解可以实现对象关系映射(ORM),使得 Java 应用程序能够与关系数据库进行交互。JPA(Java Persistence API)提供了多种注解来定义实体类与数据库表之间的映射关系...
本项目提供了完整的配置代码,并有详细注释,非常适合初学者了解和学习SpringMVC+JPA的注解开发方式,以及如何结合Maven进行项目管理。通过实践这个项目,你可以深入理解Web应用开发的流程,掌握这些技术的使用。
**Toplink JPA注解参考** Toplink JPA(Java Persistence API)是Oracle公司提供的一种对象关系映射(ORM)框架,它允许开发者使用Java对象来操作数据库,而无需直接编写SQL语句。JPA提供了丰富的注解,使得在Java...
**JPA注解@Access详解** Java Persistence API (JPA) 是Java中用于对象关系映射(ORM)的标准框架,它允许开发人员将Java类与数据库表进行映射,从而简化数据操作。在JPA中,`@Access`注解是用于指定实体属性访问...
这个异常通常意味着在使用JPA注解配置时,遇到了不兼容或错误的配置。 首先,让我们深入理解`@Table`和`@Index`这两个JPA注解。`@Table`用于指定一个实体类所对应的数据库表名,而`@Index`则是用来定义表中的索引。...
Hibernate之JPA注解
以下是对JPA注解的详细解释: 1. **@Entity(name="EntityName")** 这个注解标记一个Java类为实体类,表示它将映射到数据库的一个表。`name`参数是可选的,用于指定表的名称。如果未指定,将使用类名作为表名。 2...
**hibernate+jpa注解实现最简单的增删改查** 在Java开发中,Hibernate和JPA(Java Persistence API)是两种广泛使用的对象关系映射(ORM)框架,它们简化了与数据库交互的过程,使开发者可以使用面向对象的方式来...
【Hibernate+JPA注解教程】 本教程将详细介绍如何在Java开发环境中利用Hibernate和Java Persistence API(JPA)的注解进行数据持久化操作。首先,我们需要了解开发所需的环境和工具,包括MyEclipse 8.5(内含...
以下是对JPA注解的详细解释: 1. **@Entity(name="EntityName")**:此注解用于标记一个类作为JPA的实体类,它对应数据库中的一个表。`name`参数是可选的,用于指定实体在数据库中的表名,若不指定,默认取类名。 2...
JPA注解参考_Oracle.chm 通过它可以全面的掌握JPA编程