【发布时间】:2015-03-20 12:19:37
【问题描述】:
我有一个需要保存在数据库中的对象。 到目前为止,我一直在使用 MySQL,但是对于某些结构(LinkedList、Hashmap 等)真的很难使用它困难...
public class Group {
private String name = null;
private LinkedList<Question> track = null;
private Date startTime = null;
private Date endTime = null;
private HashMap<Question, Bitmap> imagePerQuestion;
public String getName() {
return name;
}
public LinkedList<Question> getTrack() {
if (startTime == null)
//First time that you get the track it assigns the startTime
startTime = new Date();
return track;
}
public Date getStartTime() {
return startTime;
}
public Date getEndTime() {
return endTime;
}
public void setName(String name) {
this.name = name;
}
public void setFinish(){
if (endTime == null && startTime != null){
endTime = new Date();
}
}
public Group(LinkedList<Question> track){
this.track = track;
this.imagePerQuestion = new HashMap<>();
}
}
要说的很重要的一点是,我的客户端使用 java,但服务器(处理数据库)可能会使用 php。
如果使用 php 真的很难/不可能,我会很高兴听到一个基于 java 的 web 框架可以完成这项工作。
【问题讨论】:
-
将 PHP 类保存在数据库中是不正常的,除非在特殊情况下。这并不难,只是不寻常。通常,您将数据(如整数、字符串等)保存在数据库字段中。
-
这是一个 java 类,例如使用 LinkedList 在 mysql 上工作非常困难,它不是为此而构建的。但我需要以某种方式存储这个对象......
-
啊,抱歉,如果是 PHP,它看起来几乎一样。在 PHP 中,您可以使用
serialize()存储对象。请参阅:php.net/manual/en/function.serialize.php 您可以尝试查看 Java 中是否有等价物。 -
我想过这个选项,但它的主要问题是服务器使用PHP而客户端使用Java,并且两种不同语言之间的序列化不一样。这就是为什么我也在考虑使用基于 Java 的 Web 框架。
-
是的,如果在 PHP 和 Java 之间交换对象将非常困难。它们可能看起来几乎相同,但肯定有许多细微差别。我的建议是不要交换或存储对象,而只交换或存储用任何一种语言重建对象所需的数据。
标签: java php database web-frameworks object-oriented-database