// Path: teemo/src/main/java/com/teemo/core/entity/BaseEntity.java
// public abstract class BaseEntity implements Serializable {
// }
// 
// Path: teemo/src/main/java/com/teemo/core/entity/LogicDeletable.java
// public interface LogicDeletable {
//     public Boolean getDeleted();
//     public void setDeleted(Boolean deleted);
// 
//     /**
//      * 标记实体为已删除
//      */
//     public void markDeleted();
// }


import com.alibaba.fastjson.annotation.JSONType;
import com.teemo.core.entity.BaseEntity;
import com.teemo.core.entity.LogicDeletable;
import core.support.repository.EnabledQueryCache;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;

/**
 * Copyright (c) 2016- https://github.com/beiyoufx
 *
 * Licensed under the GPL-3.0
 */
package com.teemo.entity;



/**
 * @author yongjie.teng
 * @version 1.0
 * @date 16-10-21
 * @email yongjie.teng@foxmail.com
 * @package com.teemo.entity
 * @project teemo
 */
@Entity
@Table(name = "department")
@Cache(region = "all", usage = CacheConcurrencyStrategy.READ_WRITE)
@EnabledQueryCache
@JSONType(orders = {"id", "departmentKey", "departmentValue", "parentId", "description"})

// Path: teemo/src/main/java/com/teemo/core/entity/BaseEntity.java
// public abstract class BaseEntity implements Serializable {
// }
// 
// Path: teemo/src/main/java/com/teemo/core/entity/LogicDeletable.java
// public interface LogicDeletable {
//     public Boolean getDeleted();
//     public void setDeleted(Boolean deleted);
// 
//     /**
//      * 标记实体为已删除
//      */
//     public void markDeleted();
// }


// Path: teemo/src/main/java/com/teemo/entity/Department.java
import com.alibaba.fastjson.annotation.JSONType;
import com.teemo.core.entity.BaseEntity;
import com.teemo.core.entity.LogicDeletable;
import core.support.repository.EnabledQueryCache;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;

/**
 * Copyright (c) 2016- https://github.com/beiyoufx
 *
 * Licensed under the GPL-3.0
 */
package com.teemo.entity;



/**
 * @author yongjie.teng
 * @version 1.0
 * @date 16-10-21
 * @email yongjie.teng@foxmail.com
 * @package com.teemo.entity
 * @project teemo
 */
@Entity
@Table(name = "department")
@Cache(region = "all", usage = CacheConcurrencyStrategy.READ_WRITE)
@EnabledQueryCache
@JSONType(orders = {"id", "departmentKey", "departmentValue", "parentId", "description"})

public class Department extends BaseEntity implements LogicDeletable {
