@Formula
@Formula 计算临时属性。
相当于可以关联查询字段,然后放在实体中当做属性使用。
任务:在User实体层,增加一个额外的属性,来获取Test表中的name字段。
1 表结构
User表

Test表

2 User实体层(省略了部分字段。)
@Entity
@Table(name = "user", catalog = "testdb")
@DynamicUpdate
public class User {
private Integer id;
private String uuid; private String test; @Id
@GeneratedValue
@Column(name = "id")
public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} @Column(name = "uuid")
public String getUuid() {
return uuid;
} public void setUuid(String uuid) {
this.uuid = uuid;
} @Formula("(select t.name from test as t where t.id=id)")
public String getTest() {
return test;
} public void setTest(String test) {
this.test = test;
}
}
我们可以看到,在getTest上,增加了@Formula注解。查询表时,就会关联Test表的name到属性上。
注意:
首先 表增加别名。
其次 注意sql两段的小括号()
最后 t.id=id 的最后那个id,对应属性上的@Colun(value = "id")
3 通过jpa创建一个dao
@Repository
public interface UserDao extends JpaRepository<User,Integer> {
}
4 测试
@Autowired
private UserDao userDao; @Test
public void contextLoads() {
System.out.println(userDao.findById(2).get().getTest());
}
@Formula的更多相关文章
- redmine computed custom field formula tips
项目中要用到Computed custom field插件,公式不知道怎么写,查了些资料,记录在这里. 1.http://apidock.com/ruby/Time/strftime 查看ruby的字 ...
- salesforce 零基础开发入门学习(十五)salesforce中formula的使用(不含Date/Time)
本文参考官方的formula介绍PDF:https://resources.docs.salesforce.com/200/latest/en-us/sfdc/pdf/salesforce_usefu ...
- Hibernate @Formula 注解方式
1.Formula的作用 Formula的作用就是用一个查询语句动态的生成一个类的属性 就是一条select count(*)...构成的虚拟列,而不是存储在数据库里的一个字段.用比较标准的说法就是: ...
- Hibernate @Formula
在使用Hibernate时经常会遇到实体类某个字段存的是code值而非我们最终想要的中文具体显示的值, 如果使用Hibernate的一对一关联这种,一个属性还好说,但是如果一个实体类里有多个字段都是需 ...
- Hibernate设置派生属性(formula)
一.Customer中包含的字段: private static final long serialVersionUID = 1L; private Integer id; private ...
- JavaPersistenceWithHibernate第二版笔记-第五章-Mapping value types-001Mapping basic properties(@Basic、@Access、access="noop"、@Formula、@ColumnTransformer、@Generated、 @ColumnDefaul、@Temporal、@Enumerated)
一.简介 在JPA中,默认所有属性都会persist,属性要属于以下3种情况,Hibernate在启动时会报错 1.java基本类型或包装类 2.有注解 @Embedded 3.有实现java.io. ...
- Calculate the formula
Problem Description You just need to calculate the sum of the formula: 1^2+3^2+5^2+……+ n ^2. Input ...
- Hibernate逍遥游记-第3章对象-关系映射基础-access="field"、dynamic-insert、dynamic-update、formula、update=false
1. package mypack; import java.util.*; public class Monkey{ private Long id; private String firstnam ...
- Codeforces Gym 100610 Problem E. Explicit Formula 水题
Problem E. Explicit Formula Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/10 ...
- oracle report err:REP-2103 PL/SQL formula returned invalid value or no value
好多年没用report builder做报表了,最近又开始接触这玩意了,今天修改一个report,调试半天没发现逻辑问题,一直报REP-2103: Column 'CF_report_line_po' ...
随机推荐
- Gerrit Handbook for Commercial Project
前注:常见‘坑’ 不要使用 2.14 版本 gerrit.conf 中 [sendemail] 部分必须有 from = ... 字段,否则无法添加邮箱 gerrit 以用户组为单位划分权限,先将用户 ...
- 【Java多线程系列三】实现线程同步的方法
两种实现线程同步的方法 方法 特性 synchronized 不需要显式的加锁,易实现 ReentrantLock 需要显式地加解锁,灵活性更好,性能更优秀,结合Condition可实现多种条件锁 ...
- laydate box-sizingCSS就会变形
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;/* box-sizing:border-box; */} 解决:在/laydat ...
- 4-Ubuntu-启动/关闭/重启mysql服务
启动: sudo service mysql start 关闭: sudo service mysql stop 重启: sudo service mysql restart
- Kettle使用kettle.properties
kettle.properties 是一个变量文件,这个文件我使用的最多的地方是保存 “数据库连接” 用户名和密码. 如果不用这个文件,那么使用“数据库连接”时,需要硬编码写到文件里. 有一天dba告 ...
- CKEditor与CKFinder学习--自定义界面及按钮事件捕获
原文地址:CKEditor与CKFinder学习--自定义界面及按钮事件捕获 讨厌CSDN的广告,吃香太难看! 效果图 界面操作图 原始界面 调整后的界面(删除了flush,表单元素等) 该界面的皮 ...
- pandas读书笔记、重新索引
重新索引 pandas对象的一个重要方法是 reindex ,其作用是创建一个适应新索引的新对象. #reindex函数的参数 reindex(index,method,fill_value, ...
- boost 实现读写锁
#include <boost/thread/shared_mutex.hpp> #include <boost/thread/locks.hpp> using BoostMu ...
- C语言 常量
常量的定义:在运行过程中,其值不能改变的量称为常量. 常量的分类 整型常量 实型常量 字符常量 demo #include <stdio.h> void main() { printf ...
- vue-组件之间的通信:
组件之间的通信:一个组件被调用,那么里面的数据就需要从前者调用,因为在开发中组件时重复调用的,在页面中会反复使用,但是里面的数据是不一样的,谁调用这个组件谁就传递数据给这个组件,所以就要暴露一些接口, ...