我的表是 * Schema A *,序列在 * Schema B * 中。我使用的用户C对表和模式都有权限。当我从dual运行Select B.sequence.nextval
时,我得到了值。但当我使用objSession.saveOrUpdate(EntityObject);
时,它说不能将 * NULL * 插入到用序列注解的字段中。以下是代码片段。
- ENITY类别:**
@Entity
@Table(name="BB_BPE.DRUGLISTINPUTFILE")
public class DrugListInputFileEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@SequenceGenerator(name="DL_DRUGLISTINPUTFILE_ROW_ID_GENERATOR", sequenceName="BB_BPXAPP.ROW_ID_SEQ", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="DL_DRUGLISTINPUTFILE_ROW_ID_GENERATOR")
@Column(name="BPX_ROW_ID")
private long bpxRowId;
...
}
错误代码:
休眠:从双休眠中选择BB_BPXAPP. ROW_ID_SEQ. nextval:插入BB_BPE.药物列表输入文件(业务连续性状态、业务连续性动作标志、业务连续性创建日期、业务连续性创建用户、业务连续性更新索引、业务连续性散列、业务连续性标识、业务连续性修改日期、业务连续性修改用户、业务连续性原始行标识、业务连续性设置标识、业务连续性源、业务连续性状态、业务连续性版本、业务连续性XML文件标识、药物列表输入文件标识、文件日期时间、文件源、X客户药物列表、xsd版本、业务连续性行标识)值(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)警告SQL异常帮助程序:144-SQL错误:1400,SQL状态:23000错误SqlExceptionHelper:146-ORA-01400:无法将NULL插入("BB_BPE"."药品列表输入文件"."BPX_XML_文件ID")
2条答案
按热度按时间wh6knrhe1#
尝试使用
schema ="BB_BPXAPP"
xwmevbvl2#
将模式名称附加到序列名称对我很有效