在使用Hibernate时经常会遇到实体类某个字段存的是code值而非我们最终想要的中文具体显示的值,

如果使用Hibernate的一对一关联这种,一个属性还好说,但是如果一个实体类里有多个字段都是需

要转换数据字段的,就麻烦了,用HQL写关联也比较费事,Hibernate @Formula这个注解可以解

决此问题

@Formula("(select t.user_name from user_info t where t.user_id = user_id)")
public String getUserName() {
return userName;
}

@Formula("(select t.user_name from user_info t where t.user_id = user_id)")

表示这个字段的值,是表user_info 中user_name 的值,过滤条件是user_id =当前实体类userId

对应的值,加入查询test_formula这个表后,这个实体类的userId的值是admin,那么

where t.user_id = ‘admin’,最后 本实体类中的userName就等于 ‘系统管理员’

@Formula("(select t.code_value from code_list t where t.code = sex)")
public String getSexValue() {
return sexValue;
}

Hibernate @Formula的更多相关文章

  1. Hibernate @Formula 注解方式

    1.Formula的作用 Formula的作用就是用一个查询语句动态的生成一个类的属性 就是一条select count(*)...构成的虚拟列,而不是存储在数据库里的一个字段.用比较标准的说法就是: ...

  2. hibernate 注解大全

    2019年5月1日21:39:55 原文:http://docs.jboss.org/hibernate/orm/5.4/javadocs/ 这个是hibernate 5.4版本 基于hibernat ...

  3. Hibernate设置派生属性(formula)

    一.Customer中包含的字段: private static final long serialVersionUID = 1L;    private Integer id;    private ...

  4. 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 ...

  5. hibernate的formula如何使用

    之前用过hibernate的formula记得很好用,但是这次用到想不起来怎么用了,结果去网上查结果发现大多都是无用信息. 最终搞定了,还是在这里记录一下,省的忘记. 我用formula的目的在于字典 ...

  6. 【Hibernate学习笔记-5】@Formula注解的使用

    ORM映射关系:注解方式 package org.crazyit.app.domain; import javax.persistence.*; import org.hibernate.annota ...

  7. 写hibernate.cfg.xml时报错The content of element type "property" must match "(meta*,(column|formula)*,type?)".

    原配置文件是这样的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-ma ...

  8. Hibernate入门详解

    学习Hibernate ,我们首先要知道为什么要学习它?它有什么好处?也就是我们为什么要学习框架技术? 还要知道    什么是Hibernate?    为什么要使用Hibernate?    Hib ...

  9. hibernate映射文件

    Hibernate的持久化类和关系数据库之间的映射通常是用一个XML文档来定义的.该文档通过一系列XML元素的配置,来将持久化类与数据库表之间建立起一一映射.这意味着映射文档是按照持久化类的定义来创建 ...

随机推荐

  1. header元素

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. iOS学习17之OC内存管理

    1.内存管理的方式 1> iOS应用程序出现Crash(闪退),90%的原因是因为内存问题. 2> 内存问题 野指针异常:访问没有所有权的内存,如果想要安全的访问,必须确保空间还在 内存泄 ...

  3. java语言特性概述

    一.前言 我们都知道java是面向对象的编程,其中四个基本特性:抽象.封装.继承.多态.这四个特性,概括起来可以这么理解,抽象.封装.继承是多态的基础,多态是抽象.封装.继承的表现. 二. JAVA ...

  4. select 支持宽高(高度有兼容问题);

    <select size=1(默认) size=2 没有下拉效果> <option selected>12</option> <option selected ...

  5. 洛谷 P1160 队列安排 Label:链表 数据结构

    题目描述 一个学校里老师要将班上N个同学排成一列,同学被编号为1-N,他采取如下的方法: 1.先将1号同学安排进队列,这时队列中只有他一个人: 2.2-N号同学依次入列,编号为i的同学入列方式为:老师 ...

  6. Codeforces Round #203 (Div. 2)

    非常幸运..第三题,有个地方没想清楚,枚举一下就行了..x to n,这个x没考虑好,跪了...傻傻的lock了代码,通过hack进了DIV1,5-2 . 第一次进入DIV1,记录一下. 不知不觉,已 ...

  7. OSG中的HUD

    OSG中的HUD 所谓HUD节点,说白了就是无论三维场景中的内容怎么改变,它都能在屏幕上固定位置显示的节点. 实现要点: 关闭光照,不受场景光照影响,所有内容以同一亮度显示 关闭深度测试 调整渲染顺序 ...

  8. nodeJS代码实现计算交社保是否合适

    本文通过nodejs的一个具体示例来对比分析现阶段我们交社保合不合适, 主要是对nodejs的一个小的应用,当然大家也可以改成其他语言的,程序猿们,来算算吧. 按一个普通程序员8000的月收入算就是1 ...

  9. eclipse中中文字体过小

    转自 http://www.cnblogs.com/HD/p/3654139.html

  10. Tom and paper

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5224 题意: 给出矩形的面积,求出最小的周长. 样例: Sample Input 3 2 7 12   ...