我想使用Spring MVC和Hibernate在PostgresQL中存储一个实体(字符串+图像)这是我的表。图像应该是oid的类型。
CREATE TABLE document
(
name character varying(200),
id serial NOT NULL,
content oid, // that should be the image
CONSTRAINT document_pkey PRIMARY KEY (id )
)
WITH (
OIDS=FALSE
);
这是我要存储的实体。
@Entity
@Table(name = "document")
public class Document {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "name")
private String name;
@Column(name="content")
private Blob content; //this is the image
//getters- setters
您可以看到变量“名称”是一个字符串,而不是Long。仍然当我提交具有非数字值的表单时,它将引发
org.postgresql.util.PSQLException: Bad value for type long : x
形式如下:
<form:form method="post" action="save.html" commandName="document" enctype="multipart/form-data">
<form:errors path="*" cssClass="error"/>
<table>
<tr>
<td><form:label path="name">Name</form:label></td>
<td><form:input path="name" /></td>
</tr>
<tr>
<td><form:label path="content">Document</form:label></td>
<td><input type="file" name="file" id="file"></input></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Add Document"/>
</td>
</tr>
</table>
</form:form>
如果我输入一个数字值并提交,请确定。但是任何非数字值都会触发上述异常…我读到它可能是由于我没有正确使用OID引起的,但是我不知道应该怎么做才能消除此异常。实际上,我也不理解该专有名词的名称。它说“类型
长的 值不好”。但是谁想要长键入? 变量“名称”是字符串类型!
最后,这是控制器
@RequestMapping(value = "/save", method = RequestMethod.POST)
public String save(@ModelAttribute("document") Document document, @RequestParam("file") MultipartFile file) {
try {
Blob blob = Hibernate.createBlob(file.getInputStream());
document.setContent(blob);
documentDao.save(document);
} catch (Exception e) {
e.printStackTrace();
}
return "redirect:/index.html";
}
任何建议都适用。
当我创建表时,列“名称”恰好是第一列。这不好。ID必须是第一列。如果我更改列的顺序,则可以正常工作…
好吧,我有一个带有JAVA和Hibernate 4.3.1的桌面应用程序。目前我只有两个实体(用户和角色)。 我试过了 这 和 和 如图所示:http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/types.html#types-基本值 什么都没有=/ 我也试过这个:http://alenovarini.wikidot.com/
问题内容: 我的PostgreSQL数据库(9.2)中有一个表,其中的列类型为JSON。我很难将此列映射到“ JPA2实体”字段类型。 我尝试使用String,但是当我保存实体时,出现一个异常,即它无法将字符转换为JSON。 处理JSON列时使用的正确值类型是什么? 一个简单的解决方法是定义一个文本列。 问题答案: 请参阅PgJDBC错误#265。 PostgreSQL过于严格,对数据类型转换非常
我在应用程序部署期间进行Hibernate验证时遇到了一些问题。我有两个类,Frame和FrameReleasePlan,它们在OneToOne关系中关联。在数据库端,关系是单向的。frame_release_planss表有一个NUMERIC(19,0)类型的“frame_id”列,它是一个指向frame表“id”列的外键。当我尝试部署时,模式验证失败并出现错误: 无法生成Hibernate S
问题内容: 我想知道PostgreSQL中的数据类型等效吗? 问题答案: 根据文档,您好像是您的朋友,范围从-9223372036854775808到9223372036854775807。
嗨,我正在使用Laravel和Redis。当我尝试通过get方法访问密钥时,会出现以下错误“对持有错误类型值的密钥进行WRONGTYPE操作” 我使用以下代码来访问键值- 我使用此代码从redis获取数据
这是一个至少为64 bit的整数类型(译注:实际宽度依赖于具体的实现平台),例如: long long x = 9223372036854775807LL; 不过,不要想当然地认为存在long long long或者将long拼写为short long long。 (译注:如同J. Stephen Adamczyk在参考文献中所言,”long long”是一个晦涩的拼写64-bit整数类型的方式