Hibernate - 不同模式中的表和序列

时间:2017-07-17 14:26:49

标签: hibernate

我的表是 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")

1 个答案:

答案 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;