精华内容
下载资源
问答
  • 当我使用条件查询获取list属性时,我正在观察我认为JPA 2中意外行为.我的查询如下(它摘录):CriteriaBuilder b = em.getCriteriaBuilder();CriteriaQuery c = b.createQuery(MainObject.class);Root root = c....

    当我使用条件查询获取list属性时,我正在观察我认为JPA 2中的意外行为.

    我的查询如下(它的摘录):

    CriteriaBuilder b = em.getCriteriaBuilder();

    CriteriaQuery c = b.createQuery(MainObject.class);

    Root root = c.from(MainObject.class);

    Join firstFetch = (Join) root.fetch(MainObject_.firstFetch);

    firstFetch.fetch(FirstFetch_.secondFetch); //secondFetch is a list

    c.select(root).distinct(true);

    (所以,假设我将列表作为对象属性的属性.)

    问题是当查询返回多个结果时,secondFetch值会在返回行时重复多次.每个firstFetch应该只有一个secondFetch但是有n代替.

    我在这种情况下看到的唯一特殊性是所有MainObjects恰好具有相同的FirstFetch实例.

    所以我的猜测是正在交叉连接,这是正常的,但是JPA无法将其secondFetch对象分配给firstFetch中的每一个.

    映射不应该太特别,或多或少都是这样的

    @Entity

    @Table(name="mainobject")

    public class MainObject{

    //...

    private FirstFetch firstFetch;

    @ManyToOne(fetch=FetchType.LAZY)

    @JoinColumn(name="mainObject_column")

    public FirstFetch getFirstFetch() {

    return firstFetch;

    }

    }

    @Entity

    @Table(name="firstFetch")

    public class FirstFetch{

    //...

    private List secondFetch;

    @OneToMany(mappedBy="secondFetch")

    public List getSecondFetch() {

    return secondFetch;

    }

    }

    &安培;最后

    @Entity

    @Table(name="secondFetch")

    public class SecondFetch {

    //....

    private FirstFetch firstFetch; //bidirectional

    @ManyToOne

    @JoinColumn(name="column")

    public FirstFetch getFirstFetch() {

    return firstFetch;

    }

    }

    我一直在寻找适用于fetch的某种不同的句子但是没有(无论如何都会是’补丁’……)

    如果我改变了

    List

    对于

    Set

    由于Sets’Key,我会得到预期的结果,所以我觉得这在JPA的列表中是一种不当行为.

    不过,我不是专家,所以我可以完美地在映射或查询中犯一些错误.

    任何反馈都非常欢迎帮助清除这一点.

    谢谢.

    展开全文
  • 最近也遇到了查询集合中出现重复数据,并且要知道出现重复... * 查询list集合中出现重复的数据及次数 */ private void RepeatDate(List<Integer> list) { Map<Integer, Integer> map = new HashMap&l...

    最近也遇到了查询集合中出现重复数据,并且要知道出现重复数据的次数,所以就记录一下,代码是一个方法,直接传入集合就可以进行测试:

    /**
     * 查询list集合中出现重复的数据及次数
     */
    private void RepeatDate(List<Integer> list) {
        Map<Integer, Integer> map = new HashMap<>();
        int count;// 默认出现的次数为1
        for (int i = 0; i < list.size(); i++) {
            count = 1;
            for (int j = i + 1; j < list.size(); j++) {
                if (list.get(i) == list.get(j)) {
                    count++;// 次数+1
                    list.remove(j);
                    j--;
                }
            }
            map.put(list.get(i), count);
            Log.i(TAG, "RepeatDate: " + i + "--出现了---" + count + "次");
            Log.i(TAG, "RepeatDate: " + map);
        }
    }
    
    
    展开全文
  • 一:数据库查询出结果 二:想要结果为  同是乒乓球话,则乒乓球和乒乓球2同在乒乓球下,即乒乓球下有两个实体 三:java代码  public void get() { String sql = "SELECT a.id,a.info,s.id as sid,s....

    一:数据库查询出结果


    二:想要的结果为

      同是乒乓球的话,则乒乓球和乒乓球2同在乒乓球下,即乒乓球下有两个实体

    三:java代码

      public void get() {
    String sql = "SELECT a.id,a.info,s.id as sid,s.sport_name,c.type,c.num from gym_areas a LEFT JOIN sport_items s on a.sport_item_id=s.id”

                                         +“  LEFT JOIN coupon c ON a.id=c.gym_area_id and c.type=6 WHERE a.gym_id=16";
    List<Record> list = Db.find(sql);
    Map<String, List<Record>> r1 = new HashMap<>();
    for (int i = 0; i < list.size(); i++) {
    List<Record> r2 = new ArrayList<>();
    Record spo = list.get(i);
    Object str = r1.get(spo.getStr("sport_name"));
    String name = spo.getStr("sport_name");
    if (str == null) {
    r2.add(0, list.get(i));
    r1.put(name, r2);
    } else {
    List<Record> r = r1.get(name);
    r.add(r.size(), list.get(i));
    r2.addAll(r);
    r1.put(name, r2);
    }


    }
    renderJson(JsonKit.toJson(r1));
    }

    四:结果示例

    {"游泳":[{"sport_name":"游泳","num":3000,"id":26,"type":6,"info":"游泳馆2","sid":3}],
    "羽毛球":[{"sport_name":"羽毛球","num":null,"id":28,"type":null,"info":"羽毛球","sid":1}],
    "篮球":[{"sport_name":"篮球","num":6000,"id":29,"type":6,"info":"篮球","sid":4}],
    "网球":[{"sport_name":"网球","num":null,"id":31,"type":null,"info":"室外网球","sid":2}],
    "乒乓球":[{"sport_name":"乒乓球","num":null,"id":30,"type":null,"info":"乒乓球","sid":5},{"sport_name":"乒乓球","num":null,"id":34,"type":null,"info":"乒乓球2","sid":5}]}

    展开全文
  • java中数据存储常用的数据结构有:栈,队列,数组,链表和红黑树1.栈(stack)特点:先进后出,仅允许在表的一端进行入(压)栈和出(弹)栈的操作。类似于弹夹,先装进入的子弹,最后打出来。2.队列(queue)特点:先进先出...

    java中数据存储常用的数据结构有:栈,队列,数组,链表和红黑树

    1.栈(stack)

    特点:先进后出,仅允许在表的一端进行入(压)栈和出(弹)栈的操作。类似于弹夹,先装进入的子弹,最后打出来。

    2.队列(queue)

    特点:先进先出,表的一端用来添加数据,另外一端用用来删除数据。类似于排队,先排队的人,先买到票。

    3.数组(array)

    特点:元素存储有序,查询快,增删慢。

    查询快:数的地址是连续的,通过数组的首地址可以找打数组,通过索引可以快速找到元素。

    增删慢:数组的长度是固定的,需要增删元素的时候,需要创建一个新的数组,把原来数组的数据复制过来。

    4.链表(linked)

    组成:由一系列的结点组成,每个结点含两部分,存储数据的区域,下一个结点的指针区域。分单向链表和双向链表

    特点:增删快,查询慢。查询每一个元素都要从头开始查,增删只用修改上结点的指针

    单向链表:链表中只有一条链子,不能保证所有元素的顺序(存入的元素和取出的元素可能不一致)。

    双向链表:链表中有两条链子,有一条是记录元素顺序的,是一个有序集合。

    5.红黑树(binary three)

    二叉树:每个结点不超过2的有序树。简单理解,一个树枝上有两个子树枝。从根结点(树根),往下分左子结点(子树)和右子结点(子树)。

    排序树/查找树:在二叉树的基础上,元素是有大小和顺序的。左侧树小,右侧树大。

    平衡树:从树根开始分,左子树和右子树数量相等

    不平衡树:从树根开始分,左子树和右子树数量不相等

    红黑树的特点:趋近于平衡树,查询速度快,查询子结点的最大次数和最小次数不能超过两倍

    约束:结点可以是黑色和红色;根节点是红色;叶子(空结点)是黑色;每个红色结点的子节点都是黑色的;任何一个节点到每一个叶子结点的所有路径上黑色结点树相同

    展开全文
  • 通过java查询sqlserver某表的数据,遍历某个字段的数据,查询出一样的数据,如有相同的数据,把数据库的一整条数据都显示出来 例如: ``` id_p 表 id name pwe 1 小红 123 2 小明 456 3 小强 123 ``` ...
  • 由于以最新的数据来倒序往前查询的,且数据不断新增插入,就会出现这个问题。 建议处理方法: 前端可以把上一页展示最后一条的数据标识 例如自增id传入后台查询下一页,以最后的标识为条件进行查询 例如 : ...
  • 目录数组综述Java中的数组创建数组访问数组初始化数组有序数组线性查找二分查找有序数组的优缺点大O表示法(order of)为什么不用数据解决一切- 小结数组综述数组是最广泛的数据存储结构,其中还有一种特殊数组(有序...
  • 假设现在有一个List集合,有1千万条String数据,现在我要知道里面有多少重复的数据,并且要知道重复的次数!当然!实际情况中并不会这样写!除非内存不值钱! static int min = 1; static int max = 10000000; ...
  • java数组去重复数据

    2010-11-15 17:56:21
    也是网上找的,写在这方便自己查询,很好用...//去除数组中重复的记录 public static String[] array_unique(String[] a) { // array_unique List list = new LinkedList(); for(int i = 0; i < a.length;...
  • java JPA 循环查询 发现 第一条数据与第二条数据重复。 JPA缓存问题 异常 骑驴找大爷 2019-08-29 18:07:44 336 收藏 分类专栏: java基础 版权 前段时间刚接触一个项目 用是JPA查询 ,然后在做功能时候发现 不同...
  • 当然在sql查询数据是完整。这里的重复数据只是有分页引起。 分页方法写法有很多,这里就不做多介绍,我经历过分页方法是与sql中排序有关。当排序后结果有相同时,就会有可能出现数据重复,当然这里...
  • Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能hive的元数据存储:通常是存储在关系数据库如 mysql(推荐) , derby(内嵌数据库)中hive的组成部分 :解释器、...
  • 将用户对同一数据的重复查询过程简化,不再每次均从数据库查询获取结果数据,从而提高访问速度。MyBatis的查询缓存机制,根据缓存区作用域(生命周期)可划分为两种:一级缓存与二级缓存一、一级查询缓存MyBatis一级...
  • 1、SetUniqueList 是 Commons-Collections 项目中的一个类,用来构造不重复的元素列表[代码如下]Test.javapackage net.oschina.tester;import java.util.*;import org.apache.commons.collections.list....
  • 查询出List中的重复数据

    千次阅读 2020-09-10 10:25:02
    项目中难免会遇到一个list对象中存在相同的数据,但是我们怎么去找出相同的数据呢? import com.alibaba.fastjson.JSON; import com.king.science.dto.Student; import java.util.ArrayList; import java.util....
  • GitHub地址:https://github.com/abel-max/Java-Study-Note/tree/master在MySQL进行数据插入操作时,总是会考虑是否会插入重复数据,之前操作都是先根据主键或者唯一约束条件进行查询,有就进行更新没有就...
  • 1、当在操作多表查询的时候,经常会出现查询的数据有多条是重复的,查询结果并不是我们想要的,那么这时候就要考虑怎么把重复的数据去除掉,只留下一条数据作为显示结果。 下面是我多表连接查询的结果,因为新增的...
  • 将用户对同一数据的重复查询过程简化,不再每次均从数据库查询获取结果数据,从而提高访问速度。MyBatis的查询缓存机制,根据缓存区作用域(生命周期)可划分为两种:一级缓存与二级缓存一、一级查询缓存MyBatis一级...
  • 也就是一个子查询就可以搞定! <select id="selecIns" parameterType="java.util.List" resultType="com.sn.cloud.sr.invinrecord.InvInRecords"> select h.warehouse,h.inventory,b.* from sr_invinrecord...
  • 项目需要实现来电归属地查询,所以就找到了下面这个文章原理主要在(一)和(二)中,作者的数据压缩思路很给力,将6M的原始文本数据压缩到400kb左右,原作者已经将分析讲的很清楚了,这里提炼一下要点,并将c++实现转化...
  • list中数据如下[img=https://img-bbs.csdn.net/upload/201503/03/1425372927_137836.png][/img]这是list1的数据。[img=...就是如何取得list1中list2没有的数据,放入一个新的list中
  • [code="java"]select id_,price_ from ap_car a where open_ = 1 and exists( select 1 from ap_car where a.price_=price_ group by price_ having count(*)>1 and min(id_)
  • 第二次采取方法是先查询,若查询无结果后插入数据并返回自增主键,插入数据后by 通话记录主键和自增主键查询是否有id(通话记录主键)相同和自增keyId(自增主键)比当前插入记录keyId小记录,若有,就删除。...
  • List有序可重复ArrayListArrayList数据结构是数组。查询快,增删慢。ArrayList是线程不安全,允许元素为null 。Vector线程安全数组,效率较差,已经过时不用。LinkedListLinkedList 数据结构是双向链表,插入...
  • JPA里查询实体类因@Id导致的数据重复及使用联合主键的解决方法实体类代码:Repository代码:java代码:表数据:遇到的问题:@Id不能乱用,对应的列若有重复查询的数据会一直是第一条:使用联合主键完美解决使用...
  • 我有一张下面结构桌子.我无法控制更换桌子....根据单词数量,将输入name_id并重复student_id.结构可能是这样:说name1是:Ram Laxman Prasad Sharma和名字2是:Pandit Gangadhar Vidyadhar Ma...
  • java数据进行验证,防重复提交

    千次阅读 2019-07-05 13:28:38
    1.在进入页面时候提交修改时间,然后进行提交时候,将修改时间带入到后台,然后查询数据库,当两个时间相同时候,进行操作,否则就提示已操作 ...
  • JAVA(生成不重复的编号)

    千次阅读 2019-07-16 21:39:17
    2、下面是在JAVA中获取唯一编号方法,这里跟在MVC中获取方法不一样,但其都是查询出数据库最后一条数据,然后自动生成唯一编号。 3、在JAVA中生成唯一编号方法比较简单,首先写一个查询的方法, 只需要查....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,428
精华内容 571
关键字:

java查询重复的数据

java 订阅