Hibernate map enum type

1. Bean

@Entity
@Table(name = "entities")
public class Entities {
  public enum entityType {
     location, group;
  }
  private entityType locationOrGroup;

  @Column(name="location_or_group")
  @Enumerated(EnumType.STRING) //Should set the type of location_or_group to varchar in database
  public entityType getLocationOrGroup() {
	return locationOrGroup;
  }
  public void setLocationOrGroup(entityType locationOrGroup) {
	this.locationOrGroup = locationOrGroup;
  }

}

2. Database

CREATE TABLE entities
(
  location_or_group varchar
);

3. Unit Test

  @Test
  public void testEnum() {
	 Session session = Config.getSessionFactory().openSession();
	 session.beginTransaction();

	 Query query = session.createQuery("select locationOrGroup from Entities");

	 @SuppressWarnings("unchecked")
	 List<Object> entities = query.list();
	 System.out.println(entities.get(0));
	 assertEquals(entities.get(0).toString(), "group");//entities.get(0)here is of type entityType in bean file, should be cast to String

	 session.getTransaction().commit();
	 session.close();
  }

  

时间: 2024-10-24 20:49:45

Hibernate map enum type的相关文章

C#中的枚举类型(enum type)

ylbtech 原文 C#中的枚举类型(enum type) 概念 枚举类型(enum type)是具有一组命名常量的独特的值类型.在以下示例中: enum Color { Red, Green, Blue } 声明一个名为 Color 的枚举类型,该类型具有三个成员:Red.Green 和 Blue. 枚举具体是怎么声明呢?枚举声明用于声明新的枚举类型.枚举声明以关键字 enum 开始,然后定义该枚举类型的名称.可访问性.基础类型和成员.具体格式: 修饰词(new.public.protect

Effective Java 英文 第二版 读书笔记 Item 3:Enforce the singleton property with a private constructor or an enum type.

Making a class a singleton can make it difficult to test clients. package singletonProperty; //ingleton with public final field public class ElvisField { public static final ElvisField INSTANCE=new ElvisField(); private ElvisField(){ } } package sing

Effective Java Item3:Enforce the singleton property with a private constructor or an enum type

Item3:Enforce the singleton property with a private constructor or an enum type 采用枚举类型(ENUM)实现单例模式. public enum Elvis { INSTANCE; public void leaveTheBuiding(){ System.out.println("a single-element enum type is the best way to implement a singleton&q

【转】掌握java枚举类型(enum type)

原文网址:http://iaiai.iteye.com/blog/1843553 1   背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏天,3表示秋天,4表示冬天. Java代码   public class Season { public static final int SPRING = 1; public static final int 

Hibernate中value type与entity type

在Hibernate框架中,为了更好的配合数据库,将类型分为value type和entity type. entity type特征 1.有identifier(标识符)作为类对象的唯一标识. 2.一般可以被解析为一张table(表). 3.通过identifier(标识符)可以被引用. value type特征 1.无identifier(标识符),每一个类对象都是唯一的. 2.不会被解析成一张表. 3.不会被引用,value type会被存储在entity type中. 附上Hiberna

1. Hibernate Map集合映射属性,创建表失败或表不存在

八月 22, 2014 8:02:39 下午 org.hibernate.annotations.common.Version <clinit>INFO: HCANN000001: Hibernate Commons Annotations {4.0.2.Final}八月 22, 2014 8:02:39 下午 org.hibernate.Version logVersionINFO: HHH000412: Hibernate Core {4.2.15.Final}八月 22, 2014 8:

C# Enum Type

class Program { public enum TimeOfDay { Morining, Afternoon, Evening } static void Main(string[] args) { Console.WriteLine(TimeOfDay.Afternoon); } } Console.WriteLine(TimeOfDay.Afternoon);//Afternoon TimeOfDay TIME = TimeOfDay.Afternoon; Console.Writ

Hibernate学习---第六节:数组&amp;list&amp;map&amp;set的映射配置

1.实体类,代码如下: package learn.hibernate.bean; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; /** * 持久化类设计 * 注意: * 持久化类通常建议要有一个持久化标识符(ID) * 持久化标识符通常建议使用封装类(例如:Integer 因为基本类型存在默认值) * 持久化类

Hibernate动态SQL查询

一.需求背景 给hibernate插上ibatis动态查询的翅膀,既保留crud的简洁性,又能收获ibatis的特性. 二.ibatis的动态查询 1 <select id="findUser" resultClass="User"> 2 SELECT * From User 3 <dynamic prepend="WHERE"> 4 <isNull property="id"> 5 id