Fix Bug #601: fallback修复

This commit is contained in:
2026-05-27 10:32:12 +08:00
parent b0f7b301f9
commit 7bdcbad284

View File

@@ -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;
}
}