首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate自定义部类 集合->字符串 存储

2013-04-22 
Hibernate自定义类型 集合---字符串 存储/** * 此处没有使用关联 是为了提高性能(后续会挨着查询资源和权

Hibernate自定义类型 集合--->字符串 存储
/** * 此处没有使用关联 是为了提高性能(后续会挨着查询资源和权限列表,因为有缓存,数据量也不是很大 所以性能不会差) * <p>User: Zhang Kaitao * <p>Date: 13-4-5 下午2:04 * <p>Version: 1.0 */@TypeDef( name = "SetToStringUserType", typeClass = CollectionToStringUserType.class, parameters = { @Parameter(name = "separator", value = ","), @Parameter(name = "collectionType", value = "java.util.HashSet"), @Parameter(name = "elementType", value = "java.lang.Long") })@Entity@Table(name = "sys_role_resource_permission")public class RoleResourcePermission extends BaseEntity<Long> { /** * 角色id */ @ManyToOne(optional = true, fetch = FetchType.EAGER) @Fetch(FetchMode.SELECT) private Role role; /** * 资源id */ @Column(name ="resource_id") private Long resourceId; /** * 权限id列表 * 数据库通过字符串存储 逗号分隔 */ @Column(name ="permission_ids") @Type(type = "SetToStringUserType") private Set<Long> permissionIds; public RoleResourcePermission() { }

?

@TypeDef(

? ? ? ? name = "SetToStringUserType",

? ? ? ? typeClass = CollectionToStringUserType.class,

? ? ? ? parameters = {

? ? ? ? ? ? ? ? ?@Parameter(name = "separator", value = ","),

? ? ? ? ? ? ? ? ?@Parameter(name = "collectionType", value = "java.util.HashSet"),

? ? ? ? ? ? ? ? ?@Parameter(name = "elementType", value = "java.lang.Long")

? ? ? ? }

)

定义类型并指定参数化的集合类型、元素类型和分隔符。

?

github代码

热点排行