- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 JPA 新手,在尝试保存事务数据时遇到了上述错误。
这是我的实体:
@Entity
@Table(name = "transaction1")
@NamedQueries({
@NamedQuery(name = "Transaction1.findAll", query = "SELECT t FROM Transaction1 t"),
@NamedQuery(name = "Transaction1.findByTransactionID", query = "SELECT t FROM Transaction1 t WHERE t.transactionID = :transactionID"),
@NamedQuery(name = "Transaction1.findByAmount", query = "SELECT t FROM Transaction1 t WHERE t.amount = :amount"),
@NamedQuery(name = "Transaction1.findByFromAccNo", query = "SELECT t FROM Transaction1 t WHERE t.fromAccNo = :fromAccNo"),
@NamedQuery(name = "Transaction1.findByFromSortCodeNo", query = "SELECT t FROM Transaction1 t WHERE t.fromSortCodeNo = :fromSortCodeNo"),
@NamedQuery(name = "Transaction1.findByName", query = "SELECT t FROM Transaction1 t WHERE t.name = :name"),
@NamedQuery(name = "Transaction1.findByToAccNo", query = "SELECT t FROM Transaction1 t WHERE t.toAccNo = :toAccNo"),
@NamedQuery(name = "Transaction1.findByToSortCodeNo", query = "SELECT t FROM Transaction1 t WHERE t.toSortCodeNo = :toSortCodeNo"),
@NamedQuery(name = "Transaction1.findByTransactionDate", query = "SELECT t FROM Transaction1 t WHERE t.transactionDate = :transactionDate")})
public class Transaction1 implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "Transaction_ID")
private Integer transactionID;
@Basic(optional = false)
@Column(name = "Amount")
private double amount;
@Basic(optional = false)
@Column(name = "From_Acc_No")
private int fromAccNo;
@Basic(optional = false)
@Column(name = "From_Sort_Code_No")
private String fromSortCodeNo;
@Basic(optional = false)
@Column(name = "Name")
private String name;
@Basic(optional = false)
@Column(name = "To_Acc_No")
private int toAccNo;
@Basic(optional = false)
@Column(name = "To_Sort_Code_No")
private String toSortCodeNo;
@Basic(optional = false)
@Column(name = "Transaction_Date")
@Temporal(TemporalType.TIMESTAMP)
private Date transactionDate;
static EntityManagerFactory emf = Persistence.createEntityManagerFactory("SWSXXPU");
public Transaction1() {
}
public Transaction1(Integer transactionID) {
this.transactionID = transactionID;
}
public Transaction1(Integer transactionID, double amount, int fromAccNo, String fromSortCodeNo, String name, int toAccNo, String toSortCodeNo, Date transactionDate) {
this.transactionID = transactionID;
this.amount = amount;
this.fromAccNo = fromAccNo;
this.fromSortCodeNo = fromSortCodeNo;
this.name = name;
this.toAccNo = toAccNo;
this.toSortCodeNo = toSortCodeNo;
this.transactionDate = transactionDate;
}
public Integer getTransactionID() {
return transactionID;
}
public void setTransactionID(Integer transactionID) {
this.transactionID = transactionID;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
public int getFromAccNo() {
return fromAccNo;
}
public void setFromAccNo(int fromAccNo) {
this.fromAccNo = fromAccNo;
}
public String getFromSortCodeNo() {
return fromSortCodeNo;
}
public void setFromSortCodeNo(String fromSortCodeNo) {
this.fromSortCodeNo = fromSortCodeNo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getToAccNo() {
return toAccNo;
}
public void setToAccNo(int toAccNo) {
this.toAccNo = toAccNo;
}
public String getToSortCodeNo() {
return toSortCodeNo;
}
public void setToSortCodeNo(String toSortCodeNo) {
this.toSortCodeNo = toSortCodeNo;
}
public Date getTransactionDate() {
return transactionDate;
}
public void setTransactionDate(Date transactionDate) {
this.transactionDate = transactionDate;
}
@Override
public int hashCode() {
int hash = 0;
hash += (transactionID != null ? transactionID.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Transaction1)) {
return false;
}
Transaction1 other = (Transaction1) object;
if ((this.transactionID == null && other.transactionID != null) || (this.transactionID != null && !this.transactionID.equals(other.transactionID))) {
return false;
}
return true;
}
@Override
public String toString() {
return "Entities.Transaction1[transactionID=" + transactionID + "]";
}
这是我的 servlet:
try{
Transaction1 t = new Transaction1();
t.setFromAccNo(youraccinput);
t.setFromSortCodeNo(yoursortcodeinput);
t.setToAccNo(toaccinput);
t.setToSortCodeNo(destsortcodeinput);
t.setName(recname);
t.setAmount(amtsender);
EntityManager em;
EntityManagerFactory emf;
try {
emf = Persistence.createEntityManagerFactory("SWSXXPU");
em = emf.createEntityManager();
em.getTransaction().begin();
em.persist(t);
em.getTransaction().commit();
request.getRequestDispatcher("ListTransaction").forward(request, response);
}
catch(Throwable e){
out.print(e.getMessage());
out.print(e.getCause());
}
Accounts.debitSourceAccBalance(youraccinput, toaccinput, recname, amtsender);
}
catch(Throwable e){
out.print(e.getMessage());
out.print(e.getCause());
}
完整错误消息:
org.hibernate.PropertyValueException: not-null property references a null or transient value: Entities.Transaction1.transactionDateorg.hibernate.PropertyValueException: not-null property references a null or transient value: Entities.Transaction1.transactionDate
我调试了它,似乎有一个 value 属性 not null is null,我似乎不理解这个错误消息。我认为我不需要保留 transactionID,因为它设置为自动增量,并且 transactionDate 设置为当前更新的时间戳。任何人都可以帮忙修复吗?
最佳答案
transactionDate
字段已用 @Basic(Optional = false)
标记。确保在持久化事务时该字段的值不为空。
如果 transactionData 可以真正为空(我猜不是),您可以从 @Basic
中删除 可选
选项。
关于java - org.hibernate.propertyvalueexception not-null 属性引用 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2204658/
我有这些 Pojo: public class ParticipantPojo implements Serializable ..... @OneToMany(mappedBy = "partici
使用 Hibernate 5 作为 ORM。 我过去认为 optional=true 意味着该列可以保存空值。 我有两个实体 -: 选修 选修实践 选修课可能会或可能不会与选修实践相关联,但选修实践必
通过执行 mvn clean package,我看到一个奇怪的 Maven 输出: [ERROR] /home/user/Desktop/mycompany/myapp/server/src/main
您好,我正在尝试保留我的一个实体“角色”,它通过连接表与我的另一个实体“用户”具有多对一关系。但是,每次我尝试在没有附加任何用户的情况下插入角色时,都会收到以下错误: org.hibernate.Pr
我收到以下异常。 NHibernate.PropertyValueException:非空属性引用空值或 transient 这是我的映射文件。 产品
我是 JPA 新手,在尝试保存事务数据时遇到了上述错误。 这是我的实体: @Entity @Table(name = "transaction1") @NamedQueries({ @
我想将一个对象保存到我的子类 ArticleZoning 中,其父类(super class) Zoning 包含类 zoneData 列表,其中还包含类 ZoneCoordinate。当我保存我的子
您好,我目前正在开发小应用程序来练习 hibernate 。我正在尝试建立一对多关系,但我陷入困境。 我有 2 门类(class)的问题和答案: package com.sample; import
Here you can see the entity-relationship diagram of my database with associations 我正在 NetBeans 中使用 A
我对 hibernate 和 restSpring 很陌生 我已经使用 hibernate 工具从数据库生成了Country和State实体 我的数据库看起来像这样国家表,country_id为PK
我是一名优秀的程序员,十分优秀!