【发布时间】:2019-09-16 08:01:56
【问题描述】:
我编写了一个从 Db 获取数据的函数,它占用了大部分数据,但仍然缺少一些列,即使我确实在实体中定义了它。 这是我调试时的结果
这是我的实体
@Entity
@Table(name="BANK_FEE_AND_LIMIT")
@NamedQuery(name="BankFeeAndLimit.findAll", query="SELECT b FROM
BankFeeAndLimit b")
public class BankFeeAndLimit implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private long id;
@Column(name="BANK_ID")
private Long bankId;
@Column(name="CASH_IN_FEE")
private Double cashInFee;
@Column(name="CASH_IN_FEE_AT_COUNTER")
private Double cashInFeeAtCounter;
@Column(name="CASH_IN_FEE_FROM_IB")
private Double cashInFeeFromIb;
@Column(name="CASH_IN_FEE_WITHOUT_LINK")
private Double cashInFeeWithoutLink;
@Column(name="CASH_OUT_FEE")
private Double cashOutFee;
@Column(name="CASH_OUT_FEE_WITHOUT_LINK")
private Double cashOutFeeWithoutLink;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="CREATE_DATE")
private Date createDate;
@Column(name="FEE_TYPE")
private Long feeType;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="LAST_UPDATE")
private Date lastUpdate;
@Column(name="MAX_CASH_IN_PER_DAY")
private Long maxCashInPerDay;
@Column(name="MAX_CASH_IN_PER_TRANS")
private Long maxCashInPerTrans;
@Column(name="MAX_CASH_OUT_PER_DAY")
private Long maxCashOutPerDay;
@Column(name="MAX_CASH_OUT_PER_TRANS")
private Long maxCashOutPerTrans;
@Column(name="MAX_NUMBER_CASH_IN")
private Long maxNumberCashIn;
@Column(name="MAX_NUMBER_CASH_OUT")
private Long maxNumberCashOut;
@Column(name="MIN_CASH_IN_FEE_AT_COUNTER")
private Long minCashInFeeAtCounter;
@Column(name="MIN_CASH_IN_FEE_FROM_IB")
private Long minCashInFeeFromIb;
@Column(name="MIN_CASH_IN_FEE_VALUE")
private Long minCashInFeeValue;
@Column(name="MIN_CASH_IN_FEE_WITHOUT_LINK")
private Long minCashInFeeWithoutLink;
@Column(name="MIN_CASH_IN_PER_TRANS")
private Long minCashInPerTrans;
@Column(name="MIN_CASH_OUT_FEE_VALUE")
private Long minCashOutFeeValue;
@Column(name="MIN_CASH_OUT_FEE_WITHOUT_LINK")
private Long minCashOutFeeWithoutLink;
@Column(name="MIN_CASH_OUT_PER_TRANS")
private Long minCashOutPerTrans;
@Column(name="STATUS")
private Long status;
@Column(name="WALLET_LEVEL")
private Long walletLevel;
@Column(name="WALLET_TYPE")
private Long walletType;
@Column(name="NUMBER_IBFT_FREE_BY_MONTH")
private Long numberIbftFreeByMonth;
@Column(name="NUMBER_CASH_OUT_FREE_BY_MONTH")
private Long numberCashOutFreeByMonth;
@Column(name="MAX_NUMBER_TRANSFER_IBFT")
private Long maxNumberTransferIbft;
@Column(name="MIN_IBFT_FEE_VALUE")
private Long minIbftFeeValue;
@Column(name="MIN_CASH_IN_FEE_FOR_PREPAID")
private Long minCashInFeeForPrepaid;
@Column(name="EXTRA_TRANSFER_IBFT_FEE")
private Long extraTransferIbftFee;
@Column(name="TRANSFER_IBFT_FEE")
private Long transferIbftFee;
@Column(name="CASH_IN_FEE_FOR_PREPAID")
private Long cashInFeeForPrepaid;
@Column(name="MIN_TRANSFER_IBFT_PER_TRANS")
private Long minTransferIbftPerTrans;
@Column(name="MAX_TRANSFER_IBFT_PER_TRANS")
private Long maxTransferIbftPerTrans;
@Column(name="MAX_CASH_IN_PREPAID_PER_TRANS")
private Long maxCashInPrepaidPerTrans;
@Column(name="MAX_TRANSFER_IBFT_PER_DAY")
private Long maxTransferIbftPerDay;
@Column(name="MAX_CASH_IN_PREPAID_PER_DAY")
private Long maxCashInPrepaidPerDay;
@Column(name="MAX_NUMBER_CASH_IN_PREPAID")
private Double test;
public Double getTest() {
return test;
}
public void setTest(Double test) {
this.test = test;
}
null 字段是映射到数据库中 MAX_NUMBER_CASH_IN_PREPAID 列的测试字段。 这是数据库中的数据
其他字段仍然可以正常获取,只有这个字段无法获取。
【问题讨论】:
-
您可能在数据库中遇到
Double test和the type of the column之间的转换问题。 -
您能分享一下表架构吗?您在 DB 中为“MAX_NUMBER_CASH_IN_PREPAID”使用了什么数据类型
-
MAX_NUMBER_CASH_IN_PREPAID 列的数据类型为 NUMBER,我使用的是 oracle
-
我认为这与你的问题stackoverflow.com/questions/10028028/…有关。
-
试试@Column(name="MAX_NUMBER_CASH_IN_PREPAID",precision=0)..参考:stackoverflow.com/questions/10028028/…
标签: java sql hibernate entity hibernate-mapping