Mysql 使用Hibernate将HashMap写入数据库
我正在尝试使用Hibernate将hashmap的值写入数据库 我的POJO课 包org.rahulMysql 使用Hibernate将HashMap写入数据库,mysql,hibernate,Mysql,Hibernate,我正在尝试使用Hibernate将hashmap的值写入数据库 我的POJO课 包org.rahul import java.util.HashMap; import java.util.Map; import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; imp
import java.util.HashMap;
import java.util.Map;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.MapKeyColumn;
import javax.persistence.Table;
@Entity
@Table(name = "hash")
public class HashMapExample {
@Id
@GeneratedValue
private int id;
@ElementCollection
@MapKeyColumn(name = "key_key")
@JoinTable(name = "example_attributes", joinColumns =
@JoinColumn(name"example_id"))
private Map<String, String> map = new HashMap<String, String>();
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
}
哈希表说明:
CREATE TABLE `hash` (
`id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
为什么我不能将字段map和key_key描述为hashmap?我希望它们像键值对一样位于单个字段中。有人能帮我吗?所以有几种方法可以做到这一点。您可以将一个json字符串持久化到表示键/值对的数据库中如果从2013年起需要查询json,请不要使用json
{key: 'myKey', values:[{'1'},{'2'},{'3'}]}
您可以将java对象持久化为blob(二进制对象)
这将允许您将数据存储在一列中。我推荐使用json字符串,因为它不会强迫您在余生中使用java,其他人也可以使用您的数据。因此有几种方法可以做到这一点。您可以将一个json字符串持久化到表示键/值对的数据库中如果从2013年起需要查询json,请不要使用json
{key: 'myKey', values:[{'1'},{'2'},{'3'}]}
您可以将java对象持久化为blob(二进制对象)
这将允许您将数据存储在一列中。我推荐使用json字符串,因为它不会强迫您在余生中使用java,其他人也可以使用您的数据。因此有几种方法可以做到这一点。您可以将一个json字符串持久化到表示键/值对的数据库中如果从2013年起需要查询json,请不要使用json
{key: 'myKey', values:[{'1'},{'2'},{'3'}]}
您可以将java对象持久化为blob(二进制对象)
这将允许您将数据存储在一列中。我推荐使用json字符串,因为它不会强迫您在余生中使用java,其他人也可以使用您的数据。因此有几种方法可以做到这一点。您可以将一个json字符串持久化到表示键/值对的数据库中如果从2013年起需要查询json,请不要使用json
{key: 'myKey', values:[{'1'},{'2'},{'3'}]}
您可以将java对象持久化为blob(二进制对象)
这将允许您将数据存储在一列中。我推荐使用json字符串,因为它不会强迫您在余生中使用java,其他人也可以使用您的数据。@Newbie在我这样做之前,您是否计划查询此数据?地图数据是吗?是的,我将尝试查询既有键又有值的列。我们可以这样做吗?@Newbie,这让事情变得不同,存储json的建议也就不存在了。如果我没有弄错的话,您需要将其存储为blob。如何将其存储为blob?请帮我做两件事。使用json更新表,使用blob更新表并检索elements@Newbie在我这么做之前,您是否计划查询这些数据?地图数据是吗?是的,我将尝试查询既有键又有值的列。我们可以这样做吗?@Newbie,这让事情变得不同,存储json的建议也就不存在了。如果我没有弄错的话,您需要将其存储为blob。如何将其存储为blob?请帮我做两件事。使用json更新表,使用blob更新表并检索elements@Newbie在我这么做之前,您是否计划查询这些数据?地图数据是吗?是的,我将尝试查询既有键又有值的列。我们可以这样做吗?@Newbie,这让事情变得不同,存储json的建议也就不存在了。如果我没有弄错的话,您需要将其存储为blob。如何将其存储为blob?请帮我做两件事。使用json更新表,使用blob更新表并检索elements@Newbie在我这么做之前,您是否计划查询这些数据?地图数据是吗?是的,我将尝试查询既有键又有值的列。我们可以这样做吗?@Newbie,这让事情变得不同,存储json的建议也就不存在了。如果我没有弄错的话,您需要将其存储为blob。如何将其存储为blob?请帮我做两件事。使用json更新表,使用blob更新表并检索元素