【问题标题】:Entity containing another class persist into MySQL包含另一个类的实体持久存在 MySQL
【发布时间】:2015-11-05 10:42:50
【问题描述】:

我有一个要求,我需要将实体持久化到 DB。 该实体由另一个类组成。我希望类 toString 数据被持久化。

下面是例子:

class A {
 String x;
 B b;
}

Class B {
 String y;
 public String toString() {
   return y;
 } 

MySql Table DataTable(column1 varchar, column2 varchar)

当我 em.persist(A) 时,column1 应该存储来自类 A 的 x 的值, 并且 column2 应该存储来自 B 类的 y 值

怎么做?

【问题讨论】:

  • 你应该避免使用toString()作为序列化的一种形式。
  • @RealSkeptic 我不想序列化它,只想将它作为字符串保存到表中。

标签: java mysql entity-framework jpa entity


【解决方案1】:

我可能会这样做:

@Entity
public class A {
    @Column(name="column1", length=100)
    String x;

    @Column(name="column2", length=100)
    String bValue;

    B b;

    @PrePersist
    @PreUpdate
    public void getBValue() {
        bValue = b.toString();
    }

    /* getters, setters, blah here */
}

【讨论】:

    猜你喜欢
    • 2011-07-16
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 2021-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多