小编Phi*_*uno的帖子

如何通过RESTful Web服务正确生成JSON?

我是第一次写网络服务.我创建了一个基于Jersey的RESTful Web服务.我想制作JSON.如何生成正确的JSON类型的Web服务需要做什么?

这是我的一个方法:

@GET
@Path("/friends")
@Produces("application/json")
public String getFriends() {
    return "{'friends': ['Michael', 'Tom', 'Daniel', 'John', 'Nick']}";
}
Run Code Online (Sandbox Code Playgroud)

我只是@Produces("application/json")为我的方法指出注释就足够了吗?那么这个方法可能会返回任何类型的对象?还是只有String?我是否需要对这些对象进行额外处理或转换?

请帮助我作为初学者来处理这些问题.提前致谢!

java rest json web-services jersey

19
推荐指数
2
解决办法
10万
查看次数

在Hibernate中设置属性的默认值不起作用

我的实体中有一个布尔属性.这是我对它的注释:

@Column(name = "IS_ACTIVE", nullable = false, columnDefinition="BIT DEFAULT 1", length = 1)
public Boolean getActive() {
    return isActive;
}
Run Code Online (Sandbox Code Playgroud)

但是columnDefinition="BIT DEFAULT 1"没有完美的工作.这是我得到的生成表的SQL代码:

IS_ACTIVE BIT(1) NOT NULL,
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

因此,当我尝试将此类的实例保存到数据库时,我得到异常:

`com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'IS_ACTIVE' cannot be null`
Run Code Online (Sandbox Code Playgroud)

如果我删除nullable = false属性:

@Column(name = "IS_ACTIVE", columnDefinition="BIT DEFAULT 1", length = 1)
public Boolean getActive() {
    return isActive;
}
Run Code Online (Sandbox Code Playgroud)

所以我可以在这种情况下保存一个创建的对象.但它仍然没有设置默认值,我在数据库中的这个字段的值中得到NULL.

有什么想法吗?如果它很重要,我使用MySQL Server 5.1.我会非常感谢任何帮助.提前致谢!

java hibernate jpa hibernate-mapping hibernate-annotations

15
推荐指数
1
解决办法
4万
查看次数