hibernate集合排序问题。

问题描述

hibernate集合排序问题。
 @Entity
@Table(name="t_Group")
public class Group {
    private int id;
    private String name;
    private List<Users>list=new ArrayList<Users>();
    @Id
    @GeneratedValue
    public int getId() {
        return id;
    }

    @OneToMany(mappedBy="group",
     cascade={CascadeType.ALL}

    )
    @OrderBy("name ASC")//这里的orderby没什么用啊。根本不排序啊。
    public List<Users> getList() {
        return list;
    }

}
@Entity
public class Users {
    private int id;
    private String name;

    private Group group;

    @Id
    @GeneratedValue
    public int getId() {
        return id;
    }

    @ManyToOne(cascade={CascadeType.ALL}
    )
    public Group getGroup() {
        return group;
    }

}

 @Test
    public void save(){
        Users users1=new Users();
        users1.setName("a");

        Users users2=new Users();
        users2.setName("c");

        Users users3=new Users();
        users3.setName("b");

        Users users4=new Users();
        users4.setName("d");

     Group g=new Group();
     users1.setGroup(g);
     users2.setGroup(g);
     users3.setGroup(g);
     users4.setGroup(g);
     g.setName("A");
     g.getList().add(users1);
     g.getList().add(users2);
     g.getList().add(users3);
     g.getList().add(users4);

     for(Users u:g.getList()){
       System.out.println(u.getName());

       //控制台输出  a,c,b,d根本没排序啊。
     }
        Configuration con= new AnnotationConfiguration();
        SessionFactory sf=con.configure().buildSessionFactory();
        Session session=sf.getCurrentSession();
        session.beginTransaction();

   session.save(g);

        session.getTransaction().commit();
        sf.close();

    }

哪里写错了。

解决方案

http://my.oschina.net/u/855386/blog/351993
把list修改为set看看

时间: 2024-11-18 10:51:36

hibernate集合排序问题。的相关文章

java 集合排序问题,谢谢指导。

问题描述 java 集合排序问题,谢谢指导. 有一串分数我存在了rationalList集合里,然后要求对分数按倒数大小对分数进行排序 ListrationalList = new ArrayList<>(); Collections.sort(rationalList,new InverseComparator()); public class InverseComparator implements Comparator { // 比较两个分数倒数的大小 @Override public

基于 Hibernate缓存的Ehcache让实体对象集合对象缓存

考虑到效率和对数据库的压力,使用缓存或者内存缓存,可以提高反应速度和减轻数据库压力.hibernate中支持的比较多,在hibernate给的文档"提升性能"章节有详细介绍: hibernate支持缓存类型和介绍: 后面三个还支持集群,比较强大. 现在详细介绍Ehcache使用: Ehcache所需要的jar包(配合hibernate使用): 加入配置文件: <ehcache> <!-- Sets the path to the directory where cac

springmvc-用Hibernate集合SpringMVC做的查询所有记录,在访问jsp时就报异常了

问题描述 用Hibernate集合SpringMVC做的查询所有记录,在访问jsp时就报异常了 主要异常: org.apache.jasper.JasperException: /customer/cust_list.jsp(10,2) Expecting "jsp:param" standard action with "name" and "value" attributes org.apache.jasper.compiler.Defaul

Java的Hibernate框架中集合类数据结构的映射编写教程_java

一.集合映射 1.集合小介集合映射也是基本的映射,但在开发过程中不会经常用到,所以不需要深刻了解,只需要理解基本的使用方法即可,等在开发过程中遇到了这种问题时能够查询到解决方法就可以了.对应集合映射它其实是指将java中的集合映射到对应的表中,是一种集合对象的映射,在java中有四种类型的集合,分别是Set.Map.List还有普通的数组,它们之间有很大的区别: (1)Set,不可以有重复的对象,对象是无序的: (2)List,可以与重复的对象,对象之间有顺序: (3)Map,它是键值成对出现的

Hibernate延迟加载技术详解_java

本文实例讲述了Hibernate延迟加载技术.分享给大家供大家参考,具体如下: Hibernae 的延迟加载是一个非常常用的技术,实体的集合属性默认会被延迟加载,实体所关联的实体默认也会被延迟加载.Hibernate 通过这种延迟加载来降低系统的内存开销,从而保证 Hibernate 的运行性能. 下面先来剖析 Hibernate 延迟加载的"秘密". 集合属性的延迟加载 当 Hibernate 从数据库中初始化某个持久化实体时,该实体的集合属性是否随持久化类一起初始化呢?如果集合属性

Hibernate 中get()和load()与Hibernate简介

hibernate 中get()和load()与hibernate简介 session先判断对象是否存在,如果存在就不到数据库教程中检索.返回的对象都位于session缓存中,接下来修改了持久化对象的属性后,当session清理缓存时,会根据持久化对象的属性变化来同步更新数据库.     区别:    (1)当数据库中不存在与oid对应的记录时,load()方法抛出objectnotfoundexception异常,而get()方法返回null.    (2)两者采用不同的检索策略.     

请教一个关于spring mvc hbiernate 的annotation定义事务的配置 位置的问题

问题描述 最近在学习Springmvc和hibernate集合,遇到个问题求大神赐教Spingmvc有两个xml文件,一个是spring-servlet.xml这个是spring相关模板配置,还有一个applicationContext.xml配置数据库,事务.我把<!--使用annotation定义事务--><tx:annotation-driventransaction-manager="transactionManager"proxy-target-class=

arraylist-java 如何对 list 对象降序排列

问题描述 java 如何对 list 对象降序排列 package test.tool.gui.dbtool.util; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Test { public static void main(String[] args) { List<Student> lis

一个让开发人员仅通过声明式代码的方式实现智能数据结构的Java框架

一个朋友的框架发布1.1版本,和1.0在运行时生成额外字节码不同,1.1在编译时通过maven插件生成额外字节码,因此避免了暴露微量的设计模式给用户,让用法更简单粗暴,性能也更高.很大一部分不太像框架了,而更像是java语言的扩展,是个重大升级.此外,充分吸取1.0的教训,给出架构图并,让所有文档中英文双版,避免别人不明全局.另外,不再兼容java7. 原文 - https://github.com/babyfish-ct/babyfish/blob/master/README_zh_CN.md