Hibernate @Formula实例

      

     最近对Hibernate 标注比较感兴趣,  研究 @Formula 有些疑惑。做个小例子来加深认识,代码如下:

 

 

 

package com.forumla;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

import org.hibernate.annotations.Formula;
/**
 * 注解必须是在属性上的,如果有任何一个注解在方法上,那么@Formula将失效
 * @author Administrator
 *
 */
@Entity
public class UserForumla implements Serializable {

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int id;
	@Formula("(select COUNT(*) from user)")
	private int count;
	
	private String name;
	

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getCount() {
		return count;
	}

	public void setCount(int count) {
		this.count = count;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
}

 

 

 

    注意:@Formula("(select COUNT(*) from user)") 此处必须给查询语句加上括号,并且这个属性将不会在数据中做为字段。

 

  测试代码我就不写了,就是查询出UserForumla对象,查看count的值即可。。。

 

    如有什么问题,请留言!

 

 

你可能感兴趣的:(Hibernate)