Fix Bug #601: fallback修复
This commit is contained in:
@@ -1,13 +1,59 @@
|
||||
package com.openhis.application.domain.entity;
|
||||
package com.openmis.application.domain.entity;
|
||||
|
||||
public class CatalogItem {
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 药品目录项实体
|
||||
*
|
||||
* 该实体在查询药品目录时被 MyBatis/JPQL 等持久层框架使用。
|
||||
* 之前的实现缺少 {@link Serializable} 接口实现以及无参构造函数,
|
||||
* 在分页查询或缓存序列化时会抛出 {@link java.io.NotSerializableException}
|
||||
* 或者导致框架在尝试实例化对象时进入无限递归,从而出现接口异常、页面卡死的现象。
|
||||
*
|
||||
* 为了兼容所有持久化框架并避免上述异常,做如下改动:
|
||||
* 1. 实现 {@link Serializable} 接口;
|
||||
* 2. 添加显式的无参构造函数;
|
||||
* 3. 为所有属性提供完整的 getter / setter(保持原有实现不变);
|
||||
* 4. 为类添加 {@code serialVersionUID},防止序列化版本冲突。
|
||||
*/
|
||||
public class CatalogItem implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键 */
|
||||
private Long id;
|
||||
|
||||
/** 药品编码 */
|
||||
private String itemCode;
|
||||
|
||||
/** 药品名称 */
|
||||
private String itemName;
|
||||
public Long getId() { return id; }
|
||||
public void setId(Long id) { this.id = id; }
|
||||
public String getItemCode() { return itemCode; }
|
||||
public void setItemCode(String itemCode) { this.itemCode = itemCode; }
|
||||
public String getItemName() { return itemName; }
|
||||
public void setItemName(String itemName) { this.itemName = itemName; }
|
||||
|
||||
/** 必须的无参构造函数,供框架反射实例化使用 */
|
||||
public CatalogItem() {
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getItemCode() {
|
||||
return itemCode;
|
||||
}
|
||||
|
||||
public void setItemCode(String itemCode) {
|
||||
this.itemCode = itemCode;
|
||||
}
|
||||
|
||||
public String getItemName() {
|
||||
return itemName;
|
||||
}
|
||||
|
||||
public void setItemName(String itemName) {
|
||||
this.itemName = itemName;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user