【问题标题】:Wrong Hibernate type mapping with Struts 2使用 Struts 2 的错误 Hibernate 类型映射
【发布时间】:2019-06-10 14:16:26
【问题描述】:

我在 Struts 2 中有一个带有 Hibernate 的示例应用程序。我开始测试 Struts 2 中的日期选择器,但由于某种原因,它保存为 bytea,即使 Java 代码将其视为 String(因为 Struts 2 将其作为字符串返回),后来又作为 @987654325 @。

这发生在数据库(PostgreSQL)上:

我有一个用于 DTO 的 UserPOJO 类:

public class UserPOJO {
    private String name;
    private String password;
    private String email;
    private String cargo;
    private String nasc;

然后,在 User 构造函数中,我将其转换为 LocalDate

public User(UserPOJO pojo) {
        this.name = pojo.getName();
        this.password = pojo.getPassword();
        this.email = pojo.getEmail();
        String s = pojo.getNasc().substring(0,10);
        this.nasc = LocalDate.parse(s);
        this.cargo = new Cargo();
        this.cargo.setId(Integer.parseInt(pojo.getCargo()));
    }

当我从数据库中检索数据以将其显示在屏幕上时,它工作正常。但我不知道为什么它保存为bytea 以及为什么它可以检索数据。我想将其保存为数据库中的date

我正在使用 Java 8、Struts 2.3.15.1、Hibernate 4.3.5.Final、PostgreSQL 11 和 Struts 2 DOJO 插件 2.3.4.1。

【问题讨论】:

  • DOJO 插件已弃用,struts2 中也有很多方法可以解组对象。

标签: java hibernate struts2 hibernate-mapping


【解决方案1】:

在数据库中,数据类型更改为日期。 检查它是否有效。

【讨论】:

    猜你喜欢
    • 2016-07-01
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 2012-07-07
    • 2019-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    相关资源
    最近更新 更多