`
- 浏览:
661939 次
- 性别:
- 来自:
深圳
-
Hibernate学习四:Hibernate对视图联合主键的处理
一.mysql基本知识
- 主键必须唯一且非空。
- 联合主键中的任何一个键也必须非空,一组联合主键必须唯一。
- mysql视图没有索引,没有主键,没有外键。
二.Hibernate对视图的处理
- MyEclipse Persistence Tools在生成视图的pojo的时候,发现视图里面没有主键,于是乎把所有的字段作为一个联合主键。
- 这样是说不通的:
- 视图是对基类数据的另外一种表达,基类里有一个id是主键;但由于hibernate的原因,不得不将视图里id外的字段也作为主键,造成了联合主键。明显视图和基类结构都不一样了。
- hibernate查询的时候,如果联合主键中一个为null,查询出来的结果就是null,这对普通表和视图都是一样。显然,你不能保证视图里除id外的其它字段都不为空。
三.解决方案
- 视图的pojo按照基表的主键或者联合主键来配置。
- 如果还达不到你的目的,自己拼凑一个字段作为视图pojo主键。demo就参考这个http://blog.csdn.net/sl_nevergiveup/article/details/7077955
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
它支持实体类(Entity)、持久化字段(Field)、主键(Id)、一对多(OneToMany)、多对一(ManyToOne)、多对多(ManyToMany)等关系映射。 3. Spring:Spring框架是Java企业级应用的核心。它提供了一个容器...
- **一对一关系:** 表示两个实体之间存在一对一的关联,通常通过主键外键的方式实现,也可以通过联合主键的方式表示。 - **一对多关系:** 一个实体对应多个实体的关系,可以通过外键表示。在 Hibernate 中,可以...
- **一对一关系**:可以通过主键联合或者外键关联两种方式实现。 - **一对多关系**:通常是通过外键关联的方式实现,即在“多”的一方添加指向“一”的外键字段。 - **多对多关系**:通常需要一个中间表来关联...
多表操作则可能涵盖多对多关联,需要理解联合主键、中间表等概念。 在实际项目中,整合这些技术的关键在于配置和协调。例如,Struts 需要配置 Action 映射和结果页面,Hibernate 需要配置实体类和映射文件,而 ...
例如,在示例代码中,通过`from tBookInfo book, BookSelection sel where book.id = sel.bookId`这样的HQL语句,实现了对“书籍”和“选择”两个表的联合查询,并根据主键与外键的关系进行了匹配。 #### 2. 构建...
在IT行业中,构建高效、可维护的Web应用是至关重要的,SpringMVC、Hibernate和JPA作为Java领域中三大主流框架,常常被联合使用来实现这一目标。本篇将详细介绍如何利用Maven来搭建整合SpringMVC、Hibernate和JPA的...
- **联合主键**:在Hibernate中,可以通过创建一个类来表示联合主键,并实现Serializable接口,重写equals()和hashCode()方法。在配置文件中使用`<composite-id>`替代`<id>`标签,指定类路径。 - **load()与get()...
实体类需要包含双向@ManyToMany注解,而映射文件则需指定中间表的配置,包括联合主键等。 3. **JPA注解**:在Java中,使用Java Persistence API (JPA) 的@ManyToMany注解可以声明多对多关系。这个注解会在两个关联...
- **SQL对视图的处理过程:** - 视图并不实际存储数据,而是存储了一个查询语句,当访问视图时才会执行该查询。 以上是对《SQL21自学通》部分内容的知识点梳理,希望能够帮助读者更好地理解和掌握SQL的基础知识和...
**Hibernate的联合主键:** - 通过定义复合主键来唯一标识一个实体对象。 - 可以是多个字段的组合。 **缓存框架:** - 如Ehcache、OSCache等,用于改善应用性能。 - 支持数据的高速读取和写入。 **iBATIS与...
- **异常处理**:学习EXCEPTION块的使用,处理程序运行时可能出现的错误。 #### 十九、游标、函数 - **游标使用**:学习CURSOR的创建及遍历方法。 - **函数创建**:掌握FUNCTION的定义及调用方式。 - **游标与函数...
字段可能为`user_id`和`role_id`,两者作为联合主键。 6. **评论表**:如果系统支持用户评论,这个表将存储评论内容、评论者、被评论的新闻ID等。字段可能包括`comment_id`(主键)、`content`、`user_id`、`news_...
4. **持久化上下文(Persistence Context)**: 存储了实体的内存视图,管理实体的状态和生命周期。在事务范围内,实体的修改会被自动同步到数据库。 ### JPA核心特性 1. **对象/关系映射(ORM)**: 使用注解或XML...
10.5 联合军种作战的混乱 10.5.1 Spring事务管理器的应对 10.5.2 Hibernate+Spring JDBC混合框架的事务管理 10.6 特殊方法成漏网之鱼 10.6.1 哪些方法不能实施Spring AOP事务 10.6.2 事务增强遗漏实例 10.7 数据连接...
10.5 联合军种作战的混乱 10.5.1 Spring事务管理器的应对 10.5.2 Hibernate+Spring JDBC混合框架的事务管理 10.6 特殊方法成漏网之鱼 10.6.1 哪些方法不能实施Spring AOP事务 10.6.2 事务增强遗漏实例 10.7 数据连接...
SQL提供了丰富的内置函数,用于对数据进行加工处理,包括: - **聚合函数**:如COUNT(计算行数)、SUM(求和)、AVG(平均值)、MAX(最大值)、MIN(最小值)、VARIANCE(方差)、STDDEV(标准差)。 - **日期/...
SQL与多种编程语言无缝集成,如Java、Python、C#等,通过连接数据库API(如JDBC、ODBC)或ORM框架(如Hibernate、Entity Framework),程序员可以在应用程序中执行复杂的数据库操作。这种集成能力使得SQL成为构建...
Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...