更新我似乎,如果我添加一个时间戳,它导致了问题,但我不知道为什么。我试过一些建议,但不幸的是没用
@Basic(optional = true)
@NotNull
@Column(name="created", columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
@Temporal(TemporalType.TIMESTAMP)
private Date created;
更新#2
这是最糟糕的结果:问题解决了,但我不知道为什么!我将实体类更改为:
@Basic(optional = false)
@Column(name="created", insertable = false, updatable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date created;
但还是没用。我重新启动了glassfish,它仍然不起作用。我去参加了一个会议,重新启动了它,它工作了。我很恼火,因为我什么也没学到,在一些本该花30秒的事情上浪费了几个小时。
我在调试模式下编辑netbeans上的项目,所以我希望所有的更改都能在文件保存时重新部署。如果不是这样的话,也许你能给我们一些启示。
我还试图设置org.hibernate.ejb.hibernatepersistence,但我放弃了。。。目前:)
2条答案
按热度按时间dz6r00yl1#
热释光;博士
我已经为此奋斗了几个小时,并且阅读了所有我能在sof上找到的帖子。
为了让它正常工作,我最终对我的表进行了大量的破坏,虽然我定义了一个自动递增的主id,但我得到了一个
object:entities.json[id=null]不是已知的实体类型。
错误,如果我设置了值
对回调事件“prepersist”执行自动bean验证时违反了bean验证约束。有关详细信息,请参阅嵌入式约束。
错误。
mysql表
整体
持久性.xml
代码
有人看到我列出的代码有问题吗?
hi3rlvi22#
“id”字段可能为空,因为它是整数。如果您使用int而不是integer,您的问题将得到解决。仅当列可为空时才应使用整数。标准实践是使用原语,除非您处理的是泛型
阅读有关java中的自动装箱和取消装箱的更多信息。