【问题标题】:Java EE Hibernate inserts only ? values in my postgresql databaseJava EE Hibernate 只插入?我的 postgresql 数据库中的值
【发布时间】:2012-06-05 13:07:11
【问题描述】:

我目前正在尝试休眠以使用 EJB 在我的 postgresql 数据库中发送我的 Java EE 实体。我的实体代码(为了测试,我用最简单的)是:

import java.io.Serializable; @Entity public class Coup implements Serializable { private static final long serialVersionUID = 1L; @Column(unique=true, nullable=false) @Id private String name; @Column(nullable=false) private String jeu; public Coup() { } public Coup(String name, String jeu) { this.name = name; this.jeu = jeu; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public String getJeu() { return this.jeu; } public void setJeu(String jeu) { this.jeu = jeu; } }

我的 hibernate.xml 文件是

org.hibernate.ejb.HibernatePersistencejava:/PostgresDSjeeux装备儒雅沙龙派对HautFait政变属性>
  持久性>

但是,在我执行这个之后

政变 c = 新政变(); c.setJeu("superjeu"); c.setName("超名"); em.persist(c);

代码,我在JBOSS6日志中看到的生成查询是:

14:57:59,364 INFO [STDOUT] 休眠:插入政变(jeu,名称)值(?,?)

感谢您提供的任何答案。

【问题讨论】:

    标签: hibernate postgresql jakarta-ee


    【解决方案1】:

    我认为这只是来自 PreparedStatement 的日志消息,用于显示绑定参数。

    您是否查看了数据库以查看插入的内容?这是唯一重要的事情,而不是日志。

    【讨论】:

    • 天哪,我真的觉得自己太笨了。很抱歉问这个问题,数据从一开始就在数据库中,但我认为它不起作用。我刚刚安装了 pgadmin3,我所有的数据都在那里......非常感谢:)
    • 如果要查看日志文件中的实际值,则必须使用 log4jdbc 之类的工具
    • 这并不完全正确。您可以使用设置为 TRACE 的 org.hibernate.type 记录器(在 3.x 上)或 org.hibernate.type.descriptor.sql 记录器(在 4.x 上)让 Hibernate 记录它绑定到那些 PreparedStatement 参数的值。如果您希望日志记录将语句和参数一起显示(即,插入 Coup (jeu, name) 值 (1, 'abc')),那么是的,您将需要另一种方法,例如 log4jdbc 或记录 jdbc 包装器。让 Hibernate 记录 this 的好处是您可以看到两种方式:绑定到 PreparedStatements 和从 ResultSets 中提取
    猜你喜欢
    • 2021-12-01
    • 2015-10-21
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 1970-01-01
    相关资源
    最近更新 更多