ManyToMany OrderBy
有A、B表和A_B中间表,A_B中间表只有A、B表的id,想让A中的bs以date列排序:
@Entity
@Table(name="A")
public class A implements java.io.Serializable { private Set<B> bs = new HashSet<B>(0); @ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="A_B", joinColumns = {
@JoinColumn(name="a_id", nullable=false, updatable=false) }, inverseJoinColumns = {
@JoinColumn(name="b_id", nullable=false, updatable=false) })
@OrderBy(clause = "date desc")
public Set<B> getBs() {
return this.bs;
}
} @Entity
@Table(name="B")
public class B implements java.io.Serializable { @Column(name="date", nullable=false, length=29)
private Date date; /* setters and getters */
}
以上代码中的@OrderBy是org.hibernate.annotations.OrderBy,如果使用A_B中间表中没有的列进行排序会出错,改成javax.persistence.OrderBy的@OrderBy就行了:
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="A_B", joinColumns = {
@JoinColumn(name="a_id", nullable=false, updatable=false) }, inverseJoinColumns = {
@JoinColumn(name="b_id", nullable=false, updatable=false) })
@javax.persistence.OrderBy(value = "date desc")
public Set<B> getBs() {
return this.bs;
}
org.hibernate.annotations.OrderBy把clause中的列名(date)当作是A_B表的列名,而javax.persistence.OrderBy把value中的列名(date)当作B表列名。
另:@OrderBy是在内存中排序,在db中不见得是有序的,@OrderColumn是数据在db中就是有序的
ManyToMany OrderBy的更多相关文章
- jpa注解
http://www.oracle.com/technetwork/cn/middleware/ias/toplink-jpa-annotations-100895-zhs.html#ManyToOn ...
- eclipse中hibernate和mybatis中xml配置文件的没有标签提醒解决方法
当我们使用eclipse编写Mybatis或hibernate的xml文件时,面对众多标签的配置文件,却没有自动提醒,对于工作和学习都十分不方便. 之所以没有自动提醒,是因为dtd文件没有加载成功. ...
- hibernate学习(一)配置,导包
框架的作用 学过javaWeb基础的已经对web层 jsp servlet ,service 层 ,dao层的jdbc .DBUtils 有了很深的了解 并编写代码实现某种功能 为了提高开发 ...
- Hibernate4之JPA规范配置详解
@Table Table用来定义entity主表的name,catalog,schema等属性. 属性说明: name:表名 catalog:对应关系数据库中的catalog schema:对应关系数 ...
- Spring Boot学习随记
由于早年在管理领域耕耘了一段时间,完美错过了Spring的活跃期, 多少对这个经典的技术带有一种遗憾的心态在里面的, 从下面的我的生涯手绘图中大概可以看出来我的经历. 最近由于新介入到了工业数字化领域 ...
- Hibernate的dtd文件和properties文件
hibernate-configuration-3.0.dtd <!-- Hibernate file-based configuration document. <!DOCTYPE hi ...
- 017 多对多关联映射 双向(many-to-many)
多对多关联映射 双向 两方都持有对象引用,修改对象模型,但数据的存储没有变化. 再修改映射文件: public class Role { private int id; private String ...
- EntityFramework 7 OrderBy Skip Take-计算排序分页 SQL 翻译
先解释一下这个标题的意思,OrderBy 在 Linq 语句中,我们经常使用,比如 OrderBy(b => b.BlogId) 就是对 BlogId 字段进行升序排序,这是针对一个字段的排序, ...
- 【记录】AutoMapper Project To OrderBy Skip Take 正确写法
AutoMapper:Queryable Extensions 示例代码: using (var context = new orderEntities()) { return context.Ord ...
随机推荐
- Atitti 图像处理 特征提取的科技树 attilax总结
Atitti 图像处理 特征提取的科技树 attilax总结 理论 数学,信号处理,图像,计算机视觉 图像处理 滤波 图像处理 颜色转换 图像处理 压缩编码 图像处理 增强 图像处理 去模糊 图像处理 ...
- mysql 5.5 mysqldump备份原理
开启general_log日志,获取mysqldump执行语句 show VARIABLES like 'general_log%' set GLOBAL general_log=on 执行备份命令 ...
- VFL语言使用
- 安卓---app自动更新
主要参考:http://blog.csdn.net/jdsjlzx/article/details/46356013/ 效果如下: 大致思路:[原文] 首先,我们要有一个可以被手机访问的后台. 这里有 ...
- hdu1035
#include<stdio.h>#include<string.h>int step,n,m;int a[1010][1010];char map[11][11];void ...
- USACO 3.3 Riding the Fences
Riding the Fences Farmer John owns a large number of fences that must be repaired annually. He trave ...
- js-数据转换
<script type="text/javascript"> var msg = '{"code": 0, "data": 2 ...
- 原生JavaScript封装Ajax
第一次开个人技术博客了,发的第一篇技术文章,欢迎指点…… 欢迎访问本人的独立博客:蓝克比尔 Ajax的实现主要分为四部分: 1.创建Ajax对象 // 创建ajax对象 var xhr = null; ...
- 学习任务在继续...css...
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 关于MongoDB数据库中文件唯一性的问题
※重要※——介绍一下我的环境:MongoDB的“win32-x86_64-2008plus-ssl-3.0.5”,MongoVUE版本是1.6.9,VS2010,dll是1.10版本. MongoDB ...