【问题标题】:Hibernate - Table and Sequence in different schemaHibernate - 不同模式中的表和序列
【发布时间】:2017-07-17 14:26:49
【问题描述】:

我的表是 Schema ASchema B 中的序列。我正在使用对表和架构都具有权限的用户 C。当我从 dual 运行 Select B.sequence.nextval 时,我得到了价值。但是当我使用objSession.saveOrUpdate(EntityObject); 时,它说不能将 NULL 插入到带有序列注释的字段中。下面是代码sn-p。

实体类:

@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.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、文件日期时间、文件源、X_CLIENTDRUGLIST、 xsdversion, BPX_ROW_ID) 值 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) WARN SqlExceptionHelper:144 - SQL 错误: 1400, SQLState: 23000 错误 SqlExceptionHelper:146 - ORA-01400: 不能 将 NULL 插入 ("BB_BPE"."DRUGLISTINPUTFILE"."BPX_XML_FILE_ID")

【问题讨论】:

  • 您的序列生成器可能无法正常工作。请发布它的代码。
  • 我使用 SqlQuery 从 Dual 中运行了 select B.sequence.nextval,它能够获取值。我认为在 Entity 类中使​​用 2 个不同的模式有问题,Hibernate 明白吗?

标签: hibernate


【解决方案1】:

试试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;

【讨论】:

    猜你喜欢
    • 2018-05-07
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多