Spring里面一对多的关系如何使用注解实现
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍Spring里面一对多的关系如何使用注解实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Spring里面一对多的关系可以用@OnetoMany注解来实现然后在
千家信息网最后更新 2025年01月20日Spring里面一对多的关系如何使用注解实现
这篇文章主要介绍Spring里面一对多的关系如何使用注解实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
Spring里面一对多的关系可以用@OnetoMany注解来实现
然后在实际使用中,如果要对从属对象按条件排序该怎么处理呢?可以用注解来实现的也就是@OrderBy
来看看我的这个例子
一个Product对象,里面有个OnetoMany关系对应到多张图片,然后我这个图片在后台要支持排序,所以我就在Picture这个类里面加了一个ordernum的int型字段来进行排序标记
@OneToMany(cascade = CascadeType.ALL,mappedBy = "product",fetch = FetchType.EAGER)private List
然后我在取值的时候怎样才能让图片按照我的要求来进行排序呢
就是使用@OrderBy
看一下具体是怎么使用
@Target({METHOD, FIELD})@Retention(RUNTIME)public @interface OrderBy { /** * Anorderby_list
. Specified as follows: * ** orderby_list::= orderby_item [,orderby_item]* * orderby_item::= [property_or_field_name] [ASC | DESC] ** *If
ASC
orDESC
is not specified, *ASC
(ascending order) is assumed. * *If the ordering element is not specified, ordering by * the primary key of the associated entity is assumed. */ String value() default "";}
通过这个注解的定义可以看出它的参数就是一个String
比如我项目里按照图片的ordernum升序排列就是@OrderBy("ordernum ASC");ordernum是字段名 ASC对应排序方式,中间用空格隔开
当然也支持多个条件进行排序,比如我要通过ordernum和id进行,那就是@OrderBy("ordernum ASC,id ASC")
最后我的代码
@OneToMany(cascade = CascadeType.ALL,mappedBy = "product",fetch = FetchType.EAGER)@OrderBy("ordernum ASC")private List
Entity One-to-Many 排序设置
/** * 评论实体类,对应 TCOMMENT 表。 * @author William */@Entity@Table(name = "TCOMMENT")public class Comment { /** * 标识ID字段为主键,主键生成策略为:自动。 */ @Id @GeneratedValue private Long id; private String nickname; private String content; private Integer note; /** * 发表日期,对应 posted_date 字段,字段类型为TIMESTAMP。 */ @Column(name = "posted_date") @Temporal(TemporalType.TIMESTAMP) private Date postedDate; // Constructors, setters, getters}
/** * 新闻实体类,对应 News表。 * @author William */@Entity@NamedQuery(name = "findAllNews", query = "SELECT n FROM News n")public class News { /** * 标识ID字段为主键,主键生成策略为:自动。 */ @Id @GeneratedValue private Long id; /** * content新闻内容,该字段必填。 */ @Column(nullable = false) private String content; /** * comments评论,与之进行一对多关联。
* FetchType.EAGER 获取新闻时立即相关评论。
* CascadeType.ALL 支持所有级联操作。
* OrderBy 获取评论列表时,按照postedDate(发表日期)降序排列。 */ @OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.ALL}) @JoinTable(name = "NEWS_COMMENT", joinColumns = @JoinColumn(name = "NEWS_ID"), inverseJoinColumns = @JoinColumn(name = "COMMENT_ID")) @OrderBy("postedDate DESC") private Listcomments; // Constructors, setters, getters}
CREATE TABLE TCOMMENT ( ID BIGINT, NICKNAME VARCHAR(50), CONTENT VARCHAR(500), NOTE INT, POSTED_DATE TIMESTAMP, PRIMARY KEY (ID)); CREATE TABLE NEWS ( ID BIGINT, CONTENT VARCHAR(500), PRIMARY KEY (ID)); CREATE TABLE NEWS_COMMENT ( NEWS_ID BIGINT, COMMENT_ID BIGINT, PRIMARY KEY (NEWS_ID, COMMENT_ID), FOREIGN KEY (NEWS_ID) REFERENCES NEWS(ID), FOREIGN KEY (COMMENT_ID) REFERENCES TCOMMENT(ID));
以上是"Spring里面一对多的关系如何使用注解实现"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
字段
排序
注解
图片
就是
评论
内容
新闻
支持
实体
对象
日期
条件
标识
篇文章
生成
也就是
代码
价值
例子
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
甲骨文服务器注册地址
软件开发项目名称及介绍
数据库做宾馆客房管理系统
db2 怎么恢复数据库
远程npc服务器
闵行区智能软件开发订制价格
台州搜网网络技术有限公司
软件开发质量管理.doc
在vs中插入数据到数据库
使用什么软件开发app
浙江新舱网络技术有限公司
数据库运用技术
ais 数据库
数据库手机号字符类型
银行网络安全应急预案
广州酷乐网络技术有限公司
下载农村网络安全防范
猫和老鼠的服务器会改动吗
云鼎网络安全插画
化工厂的网络安全
西安绿码网络安全
数据库源码编写语言
微信小程序数据库技术
软件开发神话
计算机网络安全有什么职业
软件开发如何分解任务
家用小型服务器配置
形势与政策网络安全论文
软件开发现状图搞笑
传奇单机版怪物数据库