Hibernate

阅读: 评论:0

Hibernate

Hibernate

在开发的时候,我们常常需要高级查询,高级查询我们使用视图:

这是我的Oracle数据库表(三张表关联用户表,三张表没有任何没有联系):

 

/*==============================================================*/
/* Table: 用户信息表                                             
/*==============================================================*/CREATE TABLE tbl_user  (u_id                   NUMBER   NOT NULL,                       --用户ID(主键)u_name             VARCHAR2(50),                                         --用户名u_realname        VARCHAR2(50),                                      --用户真实姓名u_password        VARCHAR2(50),                                      --用户密码u_email              VARCHAR2(50),                              --用户邮箱u_sex                 VARCHAR2(4),                                 --用户性别(女,男)u_birthday         DATE,                                              --用户生日u_address          VARCHAR2(50),                             --用户地址u_imgsrc                VARCHAR2(50),                           --用户头像CONSTRAINT pk_uid PRIMARY KEY (u_id)                --主键
);
DELETE FROM tbl_user;
INSERT INTO tbl_user VALUES(1,'JadeonOne','电脑','666666','1778928151@qq','男',SYSDATE,'贵州省毕节市织金县','admin.jpg'); 
INSERT INTO tbl_user VALUES(2,'JadeonTwo','电脑2','666666','1778928152@qq','男',SYSDATE,'贵州省毕节市织金县','admin.jpg'); 
INSERT INTO tbl_user VALUES(3,'JadeonThree','电脑3','666666','1778928153@qq','男',SYSDATE,'贵州省毕节市织金县','admin.jpg'); 
INSERT INTO tbl_user VALUES(4,'JadeonFour','电脑4','666666','1778928154@qq','男',SYSDATE,'贵州省毕节市织金县','admin.jpg'); 
INSERT INTO tbl_user VALUES(5,'JadeonFive','电脑5','666666','1778928155@qq','男',SYSDATE,'贵州省毕节市织金县','admin.jpg'); 
/*==============================================================*/
/* Table: 用户——说说表                                            
/*==============================================================*/
CREATE TABLE tbl_say
(s_id         NUMBER,                     --说说ID(主键)u_id         NUMBER,                     --用户ID(外键)s_remark VARCHAR2(600),           --说说内容s_time      DATE DEFAULT(SYSDATE),                           --说说时间CONSTRAINT pk_sid PRIMARY KEY (s_Id),                     --主键CONSTRAINT  fk_sid FOREIGN KEY(u_id) REFERENCES tbl_user(u_id)    --外键
);
DELETE FROM tbl_say;
INSERT INTO tbl_say VALUES(1,1,'艹,Funk You!One',DEFAULT);
INSERT INTO tbl_say VALUES(2,2,'艹,Funk You!Two',DEFAULT);
INSERT INTO tbl_say VALUES(3,3,'艹,Funk You!Three',DEFAULT);
INSERT INTO tbl_say VALUES(4,4,'艹,Funk You!Four',DEFAULT);
/*==============================================================*/
/* Table: 用户——日志表                                            
/*==============================================================*/
CREATE TABLE tbl_log
(l_id         NUMBER,                                              --日志ID(主键)u_id        NUMBER,                                              --用户ID(外键)l_title      VARCHAR2(50),                                     --日志标题l_remark VARCHAR2(600),                                    --日志内容l_time      DATE DEFAULT(SYSDATE),                   --日志时间CONSTRAINT pk_lid PRIMARY KEY (l_id),                     --主键CONSTRAINT  fk_lid FOREIGN KEY(u_id) REFERENCES tbl_user(u_id)    --外键
);
DELETE FROM tbl_log;
INSERT INTO tbl_log VALUES(1,1,'One威宁潮海','One潮海上新浪头条',DEFAULT);
INSERT INTO tbl_log VALUES(2,2,'Two威宁潮海','Two潮海上新浪头条',DEFAULT);
INSERT INTO tbl_log VALUES(3,3,'Three威宁潮海','Three威宁潮海上新浪头条',DEFAULT);
INSERT INTO tbl_log VALUES(4,4,'Four威宁潮海','Four威宁潮海上新浪头条',DEFAULT);
INSERT INTO tbl_log VALUES(5,5,'Five威宁潮海','Five威宁潮海上新浪头条',DEFAULT); INSERT INTO tbl_say VALUES(5,5,'艹,Funk You!Five',DEFAULT);
/*==============================================================*/
/* Table: 用户——相册表                                         
/*==============================================================*/
CREATE TABLE tbl_photo
(p_id                       NUMBER,            --相册ID(主键)u_id                       NUMBER,            --相册用户(外键)p_name                 VARCHAR2(50),  --相册名称(动态 title)p_context              VARCHAR2(50),   --相册描述(动态 Note)p_count                 NUMBER,            --相册数量p_cover                 VARCHAR2(100),  --相册封面(动态之后再加) p_time                   DATE DEFAULT(SYSDATE),                    --相册创建时间CONSTRAINT  pk_poid PRIMARY KEY (p_id),                     --主键CONSTRAINT  fk_poid FOREIGN KEY(u_id) REFERENCES tbl_user(u_id),    --外键    
);
DELETE FROM tbl_photo;
INSERT INTO tbl_photo VALUES (1,1,'One朋友相册','1的朋友相册One',40,'One相册的封面.jpg',0,DEFAULT);
INSERT INTO tbl_photo VALUES (2,2,'Two朋友相册','2的朋友相册Two',40,'Two相册的封面.jpg',0,DEFAULT);
INSERT INTO tbl_photo VALUES (3,3,'Three朋友相册','3的朋友相册Three',40,'Three相册的封面.jpg',0,DEFAULT);
INSERT INTO tbl_photo VALUES (4,4,'Four朋友相册','4的朋友相册Four',40,'Four相册的封面.jpg',0,DEFAULT);
INSERT INTO tbl_photo VALUES (5,5,'Five朋友相册','5的朋友相册Five',40,'Five相册的封面.jpg',0,DEFAULT);


我们给创建视图需要管理员登录,给用户赋予创建视图view的权限;

--1.给SCOTT用户赋予创建视图权限
--grant create view to scott;
--2.创建视图CREATE OR REPLACE VIEW view_friend (vtitle, vuid,    vnote,  vtime)ASSELECT   's' vtitle,      s.u_id,         s.s_remark,    s.s_timeFROM tbl_say s -- WHERE s.u_id IN  ( SELECT u_id  FROM tbl_user  WHERE u_id IN(1,2,3))UNION SELECT      l_title ,   l.u_id ,    l.l_remark,    l.l_timeFROM tbl_log l--WHERE l.u_id IN  ( SELECT u_id  FROM tbl_user WHERE u_id in(1,2,3))UNIONSELECT   'p' vtitle,       p.u_id,    p.p_cover,   p.p_timeFROM tbl_photo p  ;  -- WHERE p.u_id IN  ( SELECT u_id  FROM tbl_user WHERE u_id in(1,2,3));  
SELECT * FROM view_friend  ORDER BY vtime DESC;  


创建视图的JavaBean并注解:

ntity;import java.io.Serializable;
import java.util.Date;import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;@Entity
@Table(name = "view_friend")
public class FriendDynamicInfo implements Serializable {private static final long serialVersionUID = 1L;private Integer vuid;private String vnote;private String vtitle;private Date vtime;public FriendDynamicInfo() {super();}public FriendDynamicInfo(Integer vuid, String vnote, String vtitle, Date vtime) {super();this.vuid = vuid;this.vnote = vnote;this.vtitle = vtitle;this.vtime = vtime;}@Id@Column(name = "vuid", nullable = false, precision = 22, scale = 0)public Integer getVuid() {return vuid;}public void setVuid(Integer vuid) {this.vuid = vuid;}@Column(name = "vnote")public String getVnote() {return vnote;}public void setVnote(String vnote) {this.vnote = vnote;}@Column(name = "vtitle")public String getVtitle() {return vtitle;}public void setVtitle(String vtitle) {this.vtitle = vtitle;}@Column(name = "vtime")public Date getVtime() {return vtime;}public void setVtime(Date vtime) {this.vtime = vtime;}@Overridepublic String toString() {return "FriendDynamicInfo [vuid=" + vuid + ", vnote=" + vnote + ", vtitle=" + vtitle+ ", vtime=" + vtime + "]";}}


更多文章。。。

 

 

 

 

 

本文发布于:2024-01-28 14:52:40,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064247638207.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Hibernate
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23