我的表是 Schema A , Schema B 中的序列。我使用的用户C对Table和Schema都有权限。当我从双重运行Select B.sequence.nextval
时,我得到了值。但是,当我使用objSession.saveOrUpdate(EntityObject);
时,它表示无法将 NULL 插入到带序列注释的字段中。以下是代码段。
ENITY CLASS:
@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;
...
}
ERROR:
Hibernate:从双Hibernate中选择BB_BPXAPP.ROW_ID_SEQ.nextval: 插入BB_BPE.DRUGLISTINPUTFILE(BC_STATUS,BPX_ACTION_FLAG, BPX_CREATED_DATE,BPX_CREATED_USER,BPX_DUP_IND,BPX_HASH,BPX_ID, BPX_MODIFIED_DATE,BPX_MODIFIED_USER,BPX_ORIGINAL_ROW_ID,BPX_SET_ID, BPX_SOURCE,BPX_STATUS,BPX_VERSION,BPX_XML_FILE_ID, DRUGLISTINPUTFILE_ID,filedatetime,filesource,X_CLIENTDRUGLIST, xsdversion,BPX_ROW_ID)值(?,?,?,?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?)WARN SqlExceptionHelper:144 - SQL错误: 1400,SQLState:23000 ERROR SqlExceptionHelper:146 - ORA-01400:不能 将NULL插入(" BB_BPE"。" DRUGLISTINPUTFILE"。" BPX_XML_FILE_ID")
答案 0 :(得分:0)
尝试使用schema ="BB_BPXAPP"
@Id
@SequenceGenerator(name="DL_DRUGLISTINPUTFILE_ROW_ID_GENERATOR",
schema ="BB_BPXAPP"
sequenceName="ROW_ID_SEQ",
allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, g
enerator="DL_DRUGLISTINPUTFILE_ROW_ID_GENERATOR")
@Column(name="BPX_ROW_ID")
private long bpxRowId;