【发布时间】:2009-10-26 07:07:38
【问题描述】:
我想在数据库中插入和检索一个用户定义的对象,我正在使用 Mysql5.1。 1)该列的数据类型应该是什么(Blob是这个问题的正确答案)
我正在使用 EntityClass 从数据库中插入/获取值。 2)但是如何在数据库中插入对象?
【问题讨论】:
-
我不确定我是否正确理解了这个问题,但我相信您可以像存储在平面文件中一样序列化您的对象并存储在数据库中。
我想在数据库中插入和检索一个用户定义的对象,我正在使用 Mysql5.1。 1)该列的数据类型应该是什么(Blob是这个问题的正确答案)
我正在使用 EntityClass 从数据库中插入/获取值。 2)但是如何在数据库中插入对象?
【问题讨论】:
常见的方法是将对象转换为表格 - 对象的每个字段(严格)转换为表格的列。这个术语是object relational mapping。网络上有大量关于此的文档(例如 this),因为这是现代企业发展的基石之一。
您可以使用多个库,最好的方法是遵守称为 JPA 的标准 - Java Persistence API。最著名的库(全部开源)是
您的用户定义对象将如下所示:
@Entity
@Table(name = "some_table")
public class SomeObject implements Serializable {
static final long serialVersionUID = <some value>;
@Id
@GeneratedValue
protected Long id;
@Column
protected String name;
@Column
protected int value;
// default constructor
// getters, setters
// equals, hashCode, toString
// other methods
}
【讨论】: