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

1hdlvixo  于 2023-01-05  发布在  其他
关注(0)|答案(2)|浏览(149)

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

wh6knrhe

wh6knrhe1#

尝试使用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;
xwmevbvl

xwmevbvl2#

将模式名称附加到序列名称对我很有效

@Id
@SequenceGenerator(name="DL_DRUGLISTINPUTFILE_ROW_ID_GENERATOR",schema ="BB_BPXAPP",sequenceName="BB_BPXAPP.ROW_ID_SEQ",allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="DL_DRUGLISTINPUTFILE_ROW_ID_GENERATOR")

相关问题