资讯专栏INFORMATION COLUMN

spring-data jpa 查询部分属性

whataa / 328人阅读

摘要:一准备有表结构如何生成相应的对象为省略二问题现在有一查询对象原先我是先查询出所有的对象,然后再循环赋值。经过一番尝试由于对象我不想改变,只能先差对象再循环赋值了。

一 准备
1.有表结构如何
CREATE TABLE `bbs_topic` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL DEFAULT "0",
  `module_id` int(11) NOT NULL,
  `post_count` int(11) NOT NULL DEFAULT "1",
  `reply_count` int(11) NOT NULL DEFAULT "0",
  `pv` int(11) NOT NULL DEFAULT "0",
  `content` varchar(150) NOT NULL,
  `emotion` tinyint(2) DEFAULT NULL,
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `is_nice` bit(1) NOT NULL DEFAULT b"0",
  `is_up` bit(1) NOT NULL DEFAULT b"0",
  PRIMARY KEY (`id`),
  KEY `moduleID_T` (`module_id`),
  KEY `userID_T` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8;
2.生成相应的entity对象为BbsTopic
@Entity
@Table(name = "bbs_topic")
public class BbsTopic{
    (省略....)
}
二 问题

现在有一查询对象

public class IndexObject{
    
    private String topicId;
    private String content;
}

原先我是先查询出所有的topic对象,然后再循环赋值。于是我就想能不能在jpa中直接生成IndexObject对象

三 尝试

可以使用List 接收。但是不是很方便

 //用objet[] 可以接受返回对象
    @Query(value = "SELECT id as topicId,content FROM bbs_topic WHERE create_time BETWEEN ?1 AND ?2",nativeQuery = true)
    @Deprecated
    List getBbsTopicListByDate(Date fileupdateDate, Date topiclastupdate);

之后我采用new相应对象

 /*返回对象属性如何取别名? 不用as,但是数据类型要对*/
    @Query(value = "SELECT new com.wayne.common.lucene.entity.IndexObject(p.id topicId,p.content) FROM BbsTopic p WHERE create_time BETWEEN ?1 AND ?2")
    List getBbsTopicListByDate2(Date fileupdateDate, Date topiclastupdate);

但是报错了,最后找原因是new 需要对象中有相应的构造函数,并且数据类型要要能对应。所以如果对象和数据层中的数据类型不同的话,是无法new的。

经过一番尝试由于IndexObject对象我不想改变,只能先差Topic对象再循环赋值了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69970.html

相关文章

  • 谈谈Spring-Data的那些事儿

    摘要:什么是呢全称,是提出的一个对象持久化规范,各应用服务器自主选择具体实现。仅仅只是一个规范,而不是产品使用本身是不能做到持久化的。只要提供了持久化类与表的映射关系,框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。 我们在进行事务处理往往需要和数据库进行交互,这其中有关系型数据库(MySql,Sql Server,Oracle)或者是非关系型数据库(Redis,Hadhoop)...

    chinafgj 评论0 收藏0
  • 谈谈Spring-Data的那些事儿

    摘要:什么是呢全称,是提出的一个对象持久化规范,各应用服务器自主选择具体实现。仅仅只是一个规范,而不是产品使用本身是不能做到持久化的。只要提供了持久化类与表的映射关系,框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。 我们在进行事务处理往往需要和数据库进行交互,这其中有关系型数据库(MySql,Sql Server,Oracle)或者是非关系型数据库(Redis,Hadhoop)...

    charles_paul 评论0 收藏0
  • 市长信箱邮件查询服务: 使用SpringBoot构建工程

    摘要:市长信箱邮件查询服务使用构建工程一直想用做个微服务练练手为后续部署到打下基础今天比较空闲就开始把部分想法落地了概览用来练手的应用是一个市长信箱的内容抓取与检索页面鉴于我的八卦特质总想了解下周边的一些投诉信息而成都的市长信箱是一个绝好的信息来 市长信箱邮件查询服务: 使用SpringBoot构建工程 一直想用SpringBoot做个微服务,练练手, 为后续部署到docker打下基础. 今...

    supernavy 评论0 收藏0
  • Spring Data JPA 必须掌握的 20+ 个查询关键字

    摘要:前言又是小师弟的投稿,确是一个喜欢技术的朋友。以下为原文今天闲的无聊看官方文档的时候,发现并没有完整的关键字语义翻译。另外,关注之后在发送可领取免费学习资料。 微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 又是小师弟的投稿,确是一个喜欢技术的朋友。以下为原文: 今天闲的无聊看 Spring Data JPA 官方文档的时候,发现并没有完整的 Jpa...

    freecode 评论0 收藏0

发表评论

0条评论

whataa

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<